小结论(3)
摘要:
分组背包的学习结束了,收获颇多,分组背包是个很神奇的东西。分组背包经常一般是三种情况。(1)每组物品最多选一个(最常规的)for(i = 0; i < n; i++) //n是总共种类 for(j = vmax; j >= 0; j--) //vmax是背包最大容量 for(k = 0; k < num[i]; k++) //num[]为该类物品个数 if(j >= v[k]) dp[j] = max(dp[j], dp[j-v[k]+w[k]]);这是一维的情况,二维很容易扩展,接下来两种题目必须用二维。而且用到用到01背包里面恰好到达的概念,必须... 阅读全文
posted @ 2012-10-02 01:52 andre_joy 阅读(150) 评论(0) 推荐(0) 编辑