才開始呢!
1.樹形DP(可以說是基本掌握了)
-遞歸實現(xiàn)
-多叉轉二叉(也有不轉直接當圖做的)
-縮環(huán)成點(結合圖論)
=選課
=無上司的舞會
=
旅游路線
=約束背包
=最優(yōu)子樹
=樹的路徑(這方面還要研究一下)
【結合 LCA求樹上兩點直接距離之類的】
【還要樹的性質的應用】
2.貪心DP(應該都會了吧)
-排序
-部分使用貪心策略
=養(yǎng)豬
=
產(chǎn)品排序 =Ticket Office
3.單調DP+四邊形不等式
-會證明決策單調性。
-二分找到類似二次函數(shù)那樣的拐點
-分離變量和常量
-數(shù)形結合,轉換成一次函數(shù)的斜率
=經(jīng)典試題:最長限制字段和、多重背包(有點暈)
=USACO的那道題
=論文上的幾道題(沒有完全解決)
4.狀態(tài)壓縮DP
-描述狀態(tài),適當轉移
-用類似于回溯的方式生成狀態(tài),并轉移。
=鋪地磚1
=騎士覆蓋
=鋪地磚2
5.數(shù)學統(tǒng)計DP
-方法不是很好總結,就是聯(lián)想到數(shù)字的一些性質,有時候就是把數(shù)按位拆開看。
=SCOI2009.d1.t1 Windy數(shù)
=SCOI2009.d2.t2
=AHOI2009.d1.t2(未解決)
6.組合DP
-利用加法原理、乘法原理和組合公式做。
=POJ.DP練習賽上的題目(未解決)
=AHOI2009.d2.t2
7.圖的DP
-那一類經(jīng)過k條邊的路徑數(shù)。
-上面那題的變形,要拆點。
-矩陣優(yōu)化
=經(jīng)典試題
=SCOI2009.d2.t3
8.構造類DP
-用狀態(tài)構造方程
-用方程生成狀態(tài)
=count
=twofive
=數(shù)學與程序設計上的一些題