dp(0)背包

假定物品为i,背包容量为v:
之前靠贪心解,优先放性价比最高的。但是贪心只适用于可以连续分割

完全背包(参见hiho/week7):

物品数量无限。
a[i]=max(a[i],a[i-c]+w);//a[i]是消耗不超过i时获得的最大收益;
对于每个物品,c是其消耗,w是其收益;

0-1背包(参见hiho/week6):

物品只有一件。i顺序,v逆序处理。
f[i][v]=max{ f[i-1][v], f[i-1][v-c[i]]+w[i] }即前i件进入背包获取的最大价值;
压缩空间得f[v]=max{f[v](不放),f[v-c[i]]+wi}

多重背包:

加判断,如果物品数量×代价小于容量,就按完全背包算;
否则二进制成0-1背包来解决。

背包九讲说的很细了 慢慢看吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容