摘要: http://poj.org/problem?id=1338第一反应就是DP,DP[i] = min{2*DP[j], 3*DP[k], 5*DP[p] j,k,p 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b... 阅读全文
posted @ 2013-11-26 09:17 再见~雨泉 阅读(300) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2533在经典不过的DP题目了。。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define INF 0x3f3f3f3f16 #define MAX(a,b) (a > b ? a : b)17 #define MIN(a... 阅读全文
posted @ 2013-11-26 09:05 再见~雨泉 阅读(249) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3033本题的意思就是说现在有n种牌子的鞋子,每种品牌有一些不同的鞋,每双鞋子都有一个特定的权值,现在要求每种品牌的鞋子都至少收集一双,有一定量的钱,问获得的最大的权值是多少。这个题与普通的分组背包不同就在于每一组都至少选一个,(正好这个难道我了= =)网上找了解题报告,解题方法很巧妙,就是先将每一个DP值初始化为一个值,比如-1,表示所有的状态都不合法那么转移方程就是 if(DP[i][k-cost[i][j]] != -1) ... 阅读全文
posted @ 2013-11-26 08:46 再见~雨泉 阅读(1132) 评论(0) 推荐(0)