背包模板
来源:互联网 发布:万圣节照相软件 编辑:程序博客网 时间:2024/06/05 12:04
const int MAXN = 101;const int SIZE = 50001;int dp[SIZE];int volume[MAXN], value[MAXN], c[MAXN];int n, v; // 总物品数,背包容量// 01背包void ZeroOnepark(int val, int vol){ for (int j = v ; j >= vol; j--) { dp[j] = max(dp[j], dp[j - vol] + val); }}// 完全背包void Completepark(int val, int vol){ for (int j = vol; j <= v; j++) { dp[j] = max(dp[j], dp[j - vol] + val); }}// 多重背包void Multiplepark(int val, int vol, int amount){ if (vol * amount >= v) { Completepark(val, vol); } else { int k = 1; while (k < amount) { ZeroOnepark(k * val, k * vol); amount -= k; k <<= 1; } if (amount > 0) { ZeroOnepark(amount * val, amount * vol); } }}int main(){ while (cin >> n >> v) { for (int i = 1 ; i <= n ; i++) { cin >> volume[i] >> value[i] >> c[i]; // 费用,价值,数量 } memset(dp, 0, sizeof(dp)); for (int i = 1; i <= n; i++) { Multiplepark(value[i], volume[i], c[i]); } cout << dp[v] << endl; } return 0;}
1 0
- 【背包模板】
- 背包模板
- 背包模板
- 背包模板
- 背包模板
- 背包模板
- 背包模板
- 背包模板
- 01背包,完全背包,模板
- 完全背包多重背包模板
- 01背包,完全背包模板
- 01背包、完全背包、多重背包模板
- 模板-01背包-完全背包-多重背包
- 01背包、完全背包、多重背包模板
- 01背包+完全背包+多重背包模板
- 01背包 完全背包 多重背包模板
- 01背包模板和完全背包模板
- 部分背包问题模板
- ubuntu下arduino IDE的Serial Port无法选择
- Python3----安装pygame
- 前端个人小收获20170504
- 十个书写Node.js REST API的最佳实践(上)
- angular定制组件-toastr(消息提醒)
- 背包模板
- centOS6.6下mysql连接报错问题
- |hdu 2586|LCA|How far away ?
- java中的权限修饰符补充
- LabVIEW学习-1
- Linux Shell 基本语法以及例题
- install jres oom 解决文案
- HTTP协议请求响应过程和HTTPS工作原理
- poj 2236 Wireless Network