背包模板(01背包,完全背包,多重背包)
2013-08-20 10:40
253 查看
一、01背包:
二、完全背包:
三、多重背包:
#define N ..///N这个值是根据具体的题目来定的 int v; ///v为总的容量 int dp ; void ZeroOnePack(int cost,int weight){ for(int j=v;j>=cost;j--) ///注意是逆序的 dp[j]=max(dp[j],dp[j-cost]+weight); }
二、完全背包:
#define N ..///N这个值是根据具体的题目来定的 int v; ///v为总的容量 int dp ; void CompletePack(int cost,int weight){ for(int j=cost;j<=v;j++) ///注意是顺序的 dp[j]=max(dp[j],dp[j-cost]+weight); }
三、多重背包:
#define N ..///N这个值是根据具体的题目来定的 int v; ///v为总的容量 int dp ; void MultiplePack(int cost,int weight,int amount){ if(cost*amount>=v) CompletePack(cost,weight); else { int k=1; while(k<amount) { ZeroOnePack(k*cost,k*weight); all-=k; k+=k; } ZeroOnePack(amount*cost,amount*weight); } }
相关文章推荐
- [DP][01背包]01\完全\多重背包模板
- 01背包模板、完全背包 and 多重背包(模板)
- 背包之01,完全,多重模板
- 背包模板(01,完全,多重背包的二进制优化和单调队列优化
- 背包问题模板(01背包,完全背包,多重背包)
- 01背包、完全背包、多重背包模板
- 01,完全,多重背包模板
- 01背包模板和完全背包模板
- 背包模板(01背包,完全背包,多重背包)
- 混合背包模板(01+多重+完全)
- 01 完全 多重 背包模板
- 01背包,完全背包,多重背包 ,模板代码
- 动态规划之01背包,完全背包,多重背包模板
- 01背包、完全背包、多重背包模板
- 01背包,完全背包,模板
- HDU ACM 2844 Coins (多重背包)----------------01背包,完全背包,多重背包模板
- 背包问题总结(01背包、完全背包、多重背包)
- 背包问题(01背包,完全背包,多重背包)
- 完全背包 (模板题目)
- 背包问题中的01背包和完全背包