ACM之DP
文章平均质量分 77
noname40
这个作者很懒,什么都没留下…
展开
-
hdu 1712 分组背包
分组的背包问题 问题 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 算法 这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选。也就是说设f[k][v]表示前k组物品花费费用v能取得的最大权值,则原创 2012-09-06 09:53:40 · 324 阅读 · 0 评论 -
hdu 1494 跑跑卡丁车
题意:中文题、、、 思路:技能槽的状态一共有15种状态0% 20% 40% 60% 80% 100% 120%..... dp[i][j] 代表通过第i条路的技能槽状态是j , 所以要考虑好哪些状态可以到达dp[i][j]是最优的就行了 dp[i][j] = min(dp[i-1][j-1] + a[i] , dp[i-1][j+5] + b[i]) . 然后就是处理细节 1.N圈处理原创 2012-09-06 13:29:08 · 462 阅读 · 0 评论 -
hdu 1059 多重背包
题意:输入n1~n6 代表1~6的 个数,然后求这些数能不能通过分配达到value相等的状态 思路:多重背包(详见背包九讲) 能不能装满背包v/2的问题 #include #include #include using namespace std; int dp[100000]; int v; bool flag; void _com(int c , int w) { for原创 2012-09-06 19:12:21 · 344 阅读 · 0 评论 -
体积为负数的DP
参考与:http://blog.csdn.net/actangy/article/details/7433992 题意:给出n个 si 和 fi , 要求si和fi的和 都不能是负数的前提下,求Σsi+Σfi的最大和。 思路:见参考。。。我是弱B。。。╮(╯▽╰)╭ #include #include #include #define inf 10000000 using namespace原创 2012-10-05 16:14:34 · 592 阅读 · 0 评论 -
poj 3254 炮兵的简化版
题意:给出个N*M的矩阵,1可以放,0不可以放,相邻之间不能放,求放的方法数。 思路:最后有bug,还是参考的@ZeroClock大神。。。 poj 1185炮兵阵地的简化版。 #include #include #include #define Mod 100000000 using namespace std; int dp[15][4200]; int map[15][15]原创 2012-10-23 00:39:10 · 378 阅读 · 0 评论 -
hdu 2809 状态DP 三国吕布
参考于 http://blog.csdn.net/woshi250hua/article/details/7746780 题意:吕布一个人单挑N个英雄,没打一个英雄一定要有一个人死才行,求最后如何打才能剩下的血量最多。 思路:状态DP ,dp[i]为,状态i下剩余的血量,用 0 1 表示该位置是否杀死了该敌方英雄。。 #include #include #include #include u原创 2012-10-28 01:19:17 · 824 阅读 · 0 评论 -
矩形覆盖
NYOJ http://acm.nyist.net/JudgeOnline/problem.php?pid=16 题意:给出一系列的矩形长宽,求符合矩形嵌套的最多矩形。。 思路1:白书上说的DP。。。如果矩形A可以嵌套在矩形B中,那么map[A][B]有边,最后在这些矩形中找到从一个矩形出发的最长路。 #include #include #include using namespace st原创 2012-11-14 15:04:40 · 1124 阅读 · 0 评论