hdu 2191(多重背包)
来源:互联网 发布:海岛奇兵菊花升级数据 编辑:程序博客网 时间:2024/03/29 20:37
http://acm.hdu.edu.cn/showproblem.php?pid=2191
一种转换成普通的01背包,遍历物品的个数。
另一种就是把物品个数用2^k表示,是上一种01背包的优化。
代码:
#include<iostream>using namespace std;int dp[105];int p[105], h[105], c[105];int m,t,n;void O1find(int w, int v){ for (int j = t; j >=v; j--){ dp[j] = dp[j] > (dp[j - v] + w) ? dp[j] : (dp[j - v] + w); }}int main(){ cin >> m; while (m--) { cin >> t >> n; memset(dp, 0, sizeof(dp)); for (int i = 1; i <= n; i++){ cin >> p[i] >> h[i] >> c[i]; } for (int i = 1; i <= n; i++){ for (int k = 1; k <= c[i];){ O1find(k*h[i] , k*p[i]); c[i] -= k; k = k * 2; } O1find(c[i]*h[i], c[i]*p[i]); } cout << dp[t] << endl; }}
0 0
- hdu 2191 多重背包
- HDU-2191 多重背包
- hdu 2191 多重背包
- hdu 2191 (多重背包)
- hdu 2191(多重背包)
- hdu 2191 多重背包
- HDU 2191 多重背包
- HDU 2191 多重背包
- HDU 2191 多重背包
- hdu 2191 多重背包
- hdu 2191 多重背包
- hdu 2191 多重背包
- HDU 2191 (多重背包)
- hdu 2191(多重背包)
- HDU 2191(多重背包)
- 多重背包 HDU 2191
- hdu 2191 多重背包
- HDU 2191 多重背包
- hdu 1285
- Cocos2d-x Layout使用
- leetCode 202. Happy Number
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
- Redis教程(十二):服务器管理命令总结
- hdu 2191(多重背包)
- html-frame用法
- Android自学之路
- ARM-LINUX 交叉编译工具链搭建
- github 详解详解
- 《Hadoop:The Definitive Guide 4th Edition》Chapter 1 Meet Hadoop
- ts
- [bzoj3455]供电网络
- 自定义cell