动态规划
yuhailin060
这个作者很懒,什么都没留下…
展开
-
pku 1170[状态Dp] 记忆化搜索
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1170 题目大意:一个篮子里面有pNums中商品,每种商品在1~999中有一个编号id,每一种商品有Num个,每个的价格为price;现在推出一系列的优惠策略来吸引顾客。把一种商品的n个或几种商品的n个组合在一起作为一种策略,比如case:2 2中商品 最多5种7 3 2 第一种商原创 2009-11-20 21:50:00 · 463 阅读 · 0 评论 -
pku 1179[经典的DP的演化]
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1179 题目大意:有n个点,没连续两个点之间有一条边,边的权值是一个字符(*,+)代表这前后的关系运算;先去掉一条边,然后合并这n- 1条边的能够达到的最大值; 算法:貌似不就前,解了一道石子合并的题非常经典的DP吧,可以把这个题转化成石子合并,无论怎么合并反正只能用到n-1条边,还有原创 2009-11-25 08:54:00 · 365 阅读 · 0 评论 -
pku 1185[状态dp]
题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1185一看题只感觉是状态的压缩,因为数据为100*10,但是不知道何从下手,如何状态压缩。后来看了周伟(天津大学)的论文上面该题的讲解分析,然后参考了网上这个牛的blog http://longzxr.blog.sohu.com/111314565.html。写了下代码。发现位运算比较好,非常原创 2009-12-08 15:00:00 · 748 阅读 · 0 评论 -
fjnu 1772
题目连接:http://acm.fjnu.edu.cn/show?problem_id=1772 中文题,赤裸裸的dp,但是还是在别人的提醒下才a掉的。。郁闷。。。 dp[i][j]以i结尾,表示前i个元素留下j个元素,那么前面i-1个元素留下j-1个元素。 那么状态方程为:dp[i][j]={dp[k][j-1]+abs(data[i].y-data[k].y)};原创 2009-12-16 22:09:00 · 320 阅读 · 0 评论 -
foj 1689
http://acm.fzu.edu.cn/problem.php?pid=1689dp[j]表示杀了j个怪以后剩下p的最大值;接下来我们不断枚举每一种怪杀掉的数目;得:dp[j]=max{dp[j],dp[j-k]-tmp};k就是某一种怪被杀掉的数目,tmp就是杀掉该些怪花费的p值;代码:#include#includeusing namespace std;const原创 2009-12-20 20:45:00 · 264 阅读 · 0 评论 -
FOJ 1615
题目连接: http://acm.fzu.edu.cn/problem.php?pid=1615树形DP,承上篇,模板题;代码:#include#include#includeusing namespace std;const int N = 10005;struct Node{ char name[15]; int father; int b原创 2009-12-22 14:01:00 · 277 阅读 · 0 评论 -
pku 2342 Hoj 1520
http://acm.pku.edu.cn/JudgeOnline/problem?id=2342http://acm.hdu.edu.cn/showproblem.php?pid=1520同一道树形Dp题,我的第一道树形DP;最简单的树形DP了;题意:有一个大学的庆典晚会,想邀请一些在大学任职的人来参加,每个人有自己的搞笑值,但是现在遇到一个问题就是如果两个人之间有直接的上下级关原创 2009-12-21 22:09:00 · 519 阅读 · 0 评论 -
树状DP
http://acm.hdu.edu.cn/showproblem.php?pid=1561http://acm.hdu.edu.cn/showproblem.php?pid=1011http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3201三道几乎一样的树形DP。。。。树形DP+背包。。。。弄了我很久。。积累DP原创 2009-12-25 13:22:00 · 351 阅读 · 0 评论 -
pku 3345 && pku 3107
两道树形DP; http://acm.pku.edu.cn/JudgeOnline/problem?id=3345题意:一共有n(dp[i][j]表示:以i为根节点在其子树中收买j个国家花费的最小值;状态转移:dp[idx][j+k]=min(dp[idx][j+k],dp[idx][j]+dp[map[idx][i]][k],Tree[idx].dim);map[idx][i原创 2009-12-28 11:58:00 · 756 阅读 · 0 评论