
背包问题
文章平均质量分 70
Matrix1254
爱代码,爱加班,爱咖啡可乐
爱挑战,爱钻研,爱打游戏
爱晚起,也爱工作到深夜。
我擅长技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
我行我素,我是程序员
展开
-
hdu 2602 Bone Collector
经典的0-1背包问题,发现自己的一个毛病,不够细心。我原本觉得用简单的dp可以做,即dp[i][j]表示前i个物品,背包容量为j的最大值。状态转移方程为:if(j>=w[i]) dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])。其实没有考虑到j=w[i]&&dp[i-1][j-w[i]]+v[i]>dp[i-1][j]) dp[i][j]=dp[i-1]原创 2013-01-02 22:34:42 · 435 阅读 · 0 评论 -
hdu 1114 Piggy-Bank
一句话,完全背包问题。状态转移方程:if(dp[j-w[i]]+p[i] dp[j]=dp[j-w[i]]+p[i];#include#define MAX_NUM 10000000#define NUM 10005int dp[NUM],p[NUM],w[NUM];int main(){ int cases,e,f,n; int i,j,v;原创 2013-01-04 17:42:35 · 419 阅读 · 0 评论 -
hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
多重背包问题,用0-1背包来做。稍后看完《背包问题九讲》后再来做。 #include#define NUM 105int v[NUM],w[NUM],num[NUM],dp[NUM];int main(){ int cases,n,m,i,j,k; //freopen("C:\\Documents and Settings\\Administrator\\桌面\原创 2013-01-04 18:34:32 · 426 阅读 · 0 评论