HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
2013-10-17 22:09
260 查看
解题报告:01背包的变种,每种物品可以有多件,只要稍微变动一下就可以转化为01背包,转化的方法就是假设这件物品有多件的话,就将这多件展开来,也就是把每种物品的每一件都看成是01背包里面的每一件物品。这样 就可以顺利的转化为01背包了。
View Code
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> using namespace std; int w[2005],v[2005],ans[2005]; int main() { int T,n,m; scanf("%d",&T); while(T--) { scanf("%d %d",&n,&m); int num = 0,p,h,c; for(int i = 1;i <= m;++i) { scanf("%d %d %d",&p,&h,&c); while(c--) { v[++num] = p; w[num] = h; } } memset(ans,0,sizeof(ans)); for(int i = 1;i <= num;++i) for(int j = n;j >= v[i];--j) ans[j] = max(ans[j],ans[j - v[i]] + w[i]); printf("%d\n",ans ); } return 0; }
View Code
相关文章推荐
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包模板题)
- hdu 2191 HDU 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU-2191-悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【多重背包V*Σ log n[i]】
- HDU 2191 HDU 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (01背包入门)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包 水)
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (dp 多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- hdu 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包问题)2191 HDU
- 【HDU 2191】 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- 【HDU - 2191】悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 【多重背包 三种解法】
- HDU 2191:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【01背包】
- 多重背包问题:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU 2191)(二进制优化)
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- 【DP|多重背包】HDU-OJ-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包,经典入门题)