01背包和完全背包
2017-02-28 18:50
357 查看
int dp[MAX]; void ()//01背包问题 { for (int i=0; i<n; ++i) for (int j=W; j>=w[i]; --j) { dp[j] = max (dp[j], dp[j-w[i] + v[i]); } printf ("%d", dp[W]); } void ()//完全背包问题 { for (int i=0; i<n; ++i) for (int j=w[i]; j<=W; ++j) { dp[j] = max (dp[j], dp[j-w[i] + v[i]); } printf ("%d", dp[W]); }
01背包问题和完全背包问题都可以用同一个数组来解决,两者的差异就只有循环方向了,重复利用数组可以节省内存空间, 但是使用不好可能留下bug, 所以要格外小心。
相关文章推荐
- HDU 1059 01背包+完全背包=多重背包
- 01背包,完全背包,多重背包
- [背包问题] 01背包、完全背包、整数找零
- 01背包,完全背包,多重背包
- 背包问题---01背包|完全背包(装满背包的方案总数分析及实现)
- 01背包 完全背包 多重背包 实现
- 模板-01背包-完全背包-多重背包
- 01背包+完全背包+多重背包模板
- 背包问题---01背包|完全背包(装满背包的方案总数分析及实现)
- 经典背包问题 01背包+完全背包+多重背包
- 01背包、完全背包、多重背包
- [DP][01背包]01\完全\多重背包模板
- HDU ACM 2844 Coins (多重背包)----------------01背包,完全背包,多重背包模板
- 背包之 01背包、完全背包、多重背包详解 <转载自奋斗哥のblog>
- 2015多校联合第十场hdu5410CRB and His Birthday 01背包+完全背包
- 背包问题——01背包、完全背包、多重背包、混合三种背包问题
- 01背包和背包完全
- 01背包和完全背包
- 01背包、完全背包、多重背包、混合三种背包问题
- HDOJ 5410 01背包+完全背包