01背包、完全背包、多重背包模版。
2015-02-18 14:09
281 查看
01背包模版
完全背包模版
多重背包
int c[maxn],v[maxn],dp[maxn],n1[maxn],V; void ZeroOnepack(int c,int v)//01背包 { for(int i = V ; i >= c ; i--) dp[i] = max(dp[i],dp[i-c]+v); }
完全背包模版
int c[maxn],v[maxn],dp[maxn],n1[maxn],V; void CompletePack(int c, int v)//完全背包 { for(int i = c ; i <= V ; i++) dp[i] = max(dp[i],dp[i-c]+v); }
多重背包
int c[maxn],v[maxn],dp[maxn],n1[maxn],V; void MultiplePack(int c,int v,int n1)//多重背包 { if(c*n1>=V) { CompletePack(c,v); return ; } else { int k = 1 ; while (k <= n1) { ZeroOnepack(c*k,v*k); n1 -= k; k <<= 1; } ZeroOnepack(c*n1,v*n1); } }
相关文章推荐
- 三种背包模版,01背包,完全背包,多重背包
- 完全背包 动态规划 模版
- 区分各种背包【01背包、完全背包、多重背包、2维背包】
- 01背包,完全背包, 多重背包
- hihocoder(1038,1043) 01背包与完全背包
- hdu 2602 01背包,hdu 1114 完全背包
- 背包DP(01背包问题,完全背包问题) 经典题
- 杭电-2191 (完全背包转换01背包)
- 背包问题(01背包和完全背包)
- 【01背包+完全背包】HDU3449-Consumer
- HDU 1059 01背包+完全背包=多重背包
- 背包问题——01背包、完全背包、多重背包、混合三种背包问题
- 学习笔记-01背包、完全背包、多重背包
- 背包问题——“01背包”及“完全背包”装满背包的方案总数分析及实现
- 01背包与完全背包微妙的区别
- HDU 5410 CRB and His Birthday 01背包和完全背包混合
- POJ 3260 The Fewest Coins(完全背包+多重背包(转化为01背包))
- 01背包,完全背包,多重背包
- HDU 1059 01背包+完全背包=多重背包
- 01背包 完全背包 多重背包 实现