动态规划
AcCry
A student
展开
-
DP基础问题若干(ACM/ICPC)
【TOJ1765】最长上升子序列状态表示:dp[i] 以a[i]为数列的最后一个数时最长上升子序列的长度状态转移方程:if(a[i] >a[k])dp[i] = max(dp[i],dp[k]+1); 1代码:#include #include using namespac原创 2011-07-15 09:48:37 · 7096 阅读 · 1 评论 -
背包问题小结
关于背包问题的讲解,有篇DD牛写的《背包问题九讲》,凭我这水平怎么说也没有这篇文章说的清楚,直接看文章吧。我只把我认为的比较概括的东西写出来。看完背包九讲再来看这个会比较好,我这个只是对背包九讲的总结加上一点点自己的总结和一些经典题目。标注:下文n即为物品件数,c[i]表示第i件原创 2011-03-15 11:42:00 · 5112 阅读 · 6 评论 -
HDU3905 DP
通过这题看出DP的功底还是不行啊,仍需提高。题意:一节课有N分钟,ZZ需要睡M分钟,每分钟都有其效益值,ZZ若听课,则必须连续听L分钟以上。问能获得的最大效益值。M分钟的睡眠可以不连续题解:动态规划,状态设计:dp[i][j]表示第i分钟已经睡过j分钟可以获得的最大效益。原创 2011-08-03 18:48:47 · 1907 阅读 · 0 评论 -
HDU3920 状压DP+优化+记忆化搜索
先按每个点到射击点的距离排个序,然后记忆化搜索,用状态压缩dp即可#include #include #include #include using namespace std;const int MAXN = 21;#define EPS 1e-8int n原创 2011-08-09 21:05:23 · 1984 阅读 · 1 评论 -
状态压缩DP总结【POJ3254】【POJ1185】【POJ3311】【HDU3001】【POJ2288】【ZOJ4257】【POJ2411】【HDU3681】
动态规划本来就很抽象,状态的设定和状态的转移都不好把握,而状态压缩的动态规划解决的就是那种状态很多,不容易用一般的方法表示的动态规划问题,这个就更加的难于把握了。难点在于以下几个方面:状态怎么压缩?压缩后怎么表示?怎么转移?是否具有最优子结构?是否满足后效性?涉及到一些位运算的操原创 2011-07-15 10:10:33 · 37085 阅读 · 21 评论