
ACM_DP
文章平均质量分 58
Cambridge
不做下一个谁,先做第一个我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
背包问题
背包问题有很多种,常见的有01背包,完全背包,多重背包等,这里简单介绍几种,详细的可参考dd_engi大牛的背包九讲 01背包:n件物品放入容量为v的背包,每件物品只有一件,只可以选择放或是不放,求最大价值 模板 void zeroonepack(int cost,int value) { int i; for(i=sum;i>=cost;i--) dp[i]=max(dp[i],原创 2012-07-04 15:37:08 · 3811 阅读 · 0 评论 -
HDU-1160-FatMouse's Speed
HDU-1160-FatMouse's Speed http://acm.hdu.edu.cn/showproblem.php?pid=1160 对体重从小到大排序,要求体重越小,速度越快,找一个最长递增子序列即可 #include #include #include struct cam { int x; int y; int num; }list[1005]; int dp[100原创 2012-07-14 22:12:49 · 1541 阅读 · 2 评论 -
HDU-2577-How to Type
HDU-2577-How to Type http://acm.hdu.edu.cn/showproblem.php?pid=2577 很有趣的一题,给一组字符串,问最少按几次键盘可以打完 小写字母可在capslock不亮时打出,也可在capslock亮时,按shift打出 大写字母可在capslock亮时打出,也可在capslock不亮时,按shift打出 用两个数组,逐步计算每一字母原创 2012-07-14 23:19:38 · 855 阅读 · 0 评论 -
HDU-1565-方格取数(1)
HDU-1565-方格取数(1) http://acm.hdu.edu.cn/showproblem.php?pid=1565 我的第一个状态压缩DP 给你一个n*n的格子的棋盘,每个格子里面有一个非负数,从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大 3 75 15 21 75 15 28 34 70 5 1原创 2012-07-28 22:11:43 · 3253 阅读 · 0 评论 -
HDU-1074-Doing Homework
HDU-1074-Doing Homework http://acm.hdu.edu.cn/showproblem.php?pid=1074 状态压缩DP,我们可以使用一个二进制的数来表示做作业的状态,1表示做了,0表示没做 dp[i]表示状态i损失的分数,再做一个作业x可到另一状态dp[j],则要有i&x==0,若要有dp[a],dp[b]均可以到达dp[j],那么选择损失分数最小的,若分原创 2012-07-29 20:59:03 · 2295 阅读 · 0 评论