记录做过的各种DP

     做DP,已经有一段时间了,虽然还有很多不会的,树形DP,数位DP,状态压缩DP。。。不过也做过很多各种一维的,二维,记录一下自己做过的题,为以后整理模版,复习什么的提供方便吧。以后会不断更新!(写完发现,好多水题啊)

    一定要独立思考!!!

    经典入门题:最长上升子序。O(n^2)的。。话说n*log(n)的还不会呢。。。SDUT 1299

    数塔   HDU 2084 数塔

    最长公共子序  HDU 1159 Common Subsequence

    最大子段和  HDU 1003 Max Sum

    编辑距离  SDUT 1225 编辑距离

    杭电的DP专题

    HDU 1058   Humble Numbers 杭电文档上的例题,预处理出所有的数。

    HDU 1059  Dividing 看背包9讲学的,二进制优化的多重背包。

    HDU 1069   Monkey and Banana  看懂题,排序后的O(n^2)DP。

    HDU 1081  To The Max  求最大子矩阵和,想了好久,还是不会做,看题解,两种做法,压缩成1维,利用矩阵的加减。

    HDU   1087  Super Jumping! Jumping! Jumping! 杭电上的例题,入门题。。。

    HDU 1114  Piggy-Bank 完全背包,注意初始化什么的。

    HDU 1158   Employment Planning 很不错的二维DP,一个变量打错,WA了N次。

    HDU 1165   Eddy's research II   这个算是DP吗。。。推出公式,就解决了。

    HDU 1176  免费馅饼 感觉很简单,杭电文档上例题,入门题。。。

    HDU 1257   最少拦截系统 自己老是想不明白这个贪心+DP。。。

    HDU 1428   Greatest Common Increasing Subsequence 求最长上升公共子序,开个标记数组就OK了。

    HDU 1501 Zipper  记忆化搜索。

    HDU 1506 Largest Rectangle in a Histogram 好题,两个标记数组,再历遍一遍。

    HDU 1516 String Distance and Transform Process 记录路径的编辑距离,注意增和删的时候位置的变化。

    HDU 1559 最大子矩阵 用二维方程的状态转移。

    HDU 1712 ACboy needs your help  二维DP。

    HDU 1838 Chessboard 挺不错的DP,认真看题,各种标记,写的好麻烦。

    HDU 2372 El Dorado 二维DP。

    HDU 2546 饭卡   01背包变形,注意小于5的情况。。

    HDU 2571 命运 基本上算是入门题。

    HDU 2602Bone Collector 裸01背包。一维的,二维的做法都要搞熟。

    HDU 2686 Matrix   杭电上的传纸条。

    HDU 3496 Watch The Movie  背包,注意恰好m件,做的太搓了。

    HDU 4223 Dynamic Programming? 预处理一下。

    HDU 4159 Indomie 注意输出100的时候特判,算是DP概率题。

    HDU 4311 Meeting point-1 算是预处理吧。

    HDU 4328 Cut the cake 很麻烦,各种标记,我写了190+。。。

    HDU  4323 Magic Number  暴力编辑距离就好,注意是小于等于。。

    HDU 4341 Gold miner 在多次WA,各种提示之后,各种查数据之后终于对了,变形01的背包,比赛的时候没做出来。

    HDU 4362 Dragon Ball 水过的。其实应该+单调队列优化。

    HDU 4374 One hundred layer 第一个单调队列优化的DP。

    POJ上的DP专题

    POJ 1088 滑雪 第一个记忆化搜索,递归DP。

    POJ 1159 Palindrome 把一个串变为回文串,求是 求和逆序的最长公共子序。。。

    POJ 1170 Shopping Offers 01背包也可以很复杂,而且不懂为什么一定要正着递推。

    POJ 1276 Cash Machine 二进制优化的多重背包。

    POJ 1836  Alignment 最长上升子序变形。

    POJ 2029 Get Many Persimmon Trees 数据量比较小。神似求最大子矩阵。

    POJ 2229 Sumsets 1维的神题。。。当初想出2维,怎么写怎么错。。

    POJ 2392 Space Elevator    背包。

    POJ 2533 Longest Ordered Subsequence 最长上升子序。

    POJ 2537 Tight words  概率卡精度,我找了个范围直接输出0,强行水过了。。。

    POJ 2593 Max Sequence Max Sum的变形。

    POJ 3250 Bad Hair Day 标记变量,标记第一个比他高的,HDU 1506的简化版。

    URAL上的DP专题(感觉每一个都是经典)

    1009 K-based Numbers  一维。

    1225 Flags 某个著名数列。。。 

    1012 K-based Numbers. Version 2  一维+高精度。 

    1013 K-based Numbers. Version 3  同上。

    1017 Staircases     经典二维DP。不要受那个破图的误导。。。

    1073 Square Country  背包。

    1353 Milliard Vasya's Function   二维DP,没怎么有印象了。。。

    1081 Binary Lexicographic Sequence  和某个著名数列有关系。。。

    1260 Nudnik Photographer  一维的好题啊,当初推错了。。。

    1586 Threeprime Numbers  和素数有关的二维DP。注意前后关系,就能想出状态转移方程。

    1018 Binary Apple Tree    第一个树形DP,确实对树形DP,不太理解啊。

    1036 Lucky Tickets   很有意思的二维DP,而且还要高精度。

    1146 Maximum Sum 最大子矩阵和。

    1029 Ministry  我用O(n^3)瞎搞过的。。

    1078  Segments 记录路径的DP。方法和HDU 1069很类似。

    1167 Bicolored Horses 二维DP。

     UVA 上DP专题(好难刷啊)

     10405 - Longest Common Subsequence  LCS。

     674 - Coin Change  用母函数水过了。。。

     10066 - The Twin Towers LCS。

     147 - Dollars  母函数也能水过。。。

     357 - Let Me Count The Ways 继续母函数水过。。。

     624 - CD   记录路径的01背包。

    10453 - Make Palindrome  记录路径变成回文串。

     其他

     Vijos 1073 4-Hanoi-Tower DP求解后,找规律。

     Vijos 1143 三取方格数  传纸条的加强版。

     Vijos 1351 棋盘制作  好繁琐的求子矩阵问题,hdu1838的加强版。

     Vijos 1493 传纸条  第一个多进程DP。

     

你可能感兴趣的:(dp)