Hdu 2191 珍惜现在,感恩生活 (多重背包)
来源:互联网 发布:2017 行政区域数据库 编辑:程序博客网 时间:2024/05/17 08:20
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191
简单的多重背包。
#include <cstdio>#include <cstring>#define max(x,y) (x)>(y)?(x):(y)int m,v;int f[105],c[105],w[105],n[105];void ZeroOnePack (int cost, int weight){for (int j=v;j>=cost;j--)f[j] = max(f[j], f[j-cost] + weight);}void CompletePack (int cost, int weight){for (int j=cost;j<=v;j++)f[j] = max(f[j], f[j-cost] + weight);}void MultiplePack (int cost, int weight, int all){if (cost*all >= v) //如果足够,转化为完全背包{CompletePack (cost, weight);return ;}int k=1;while (k < all) //否则利用二进制的思想将其划分为若干个小物品{ZeroOnePack (k*cost, k*weight);all-=k;k<<=1;}ZeroOnePack (all*cost,all*weight);}int main(){int T;scanf("%d",&T);while (T--){scanf("%d%d",&v,&m);memset(f,0,sizeof(f));int i;for (i=1;i<=m;i++)scanf("%d%d%d",&c[i],&w[i],&n[i]);for (i=1;i<=m;i++)MultiplePack(c[i], w[i], n[i]);printf("%d\n",f[v]);}return 0;}
- Hdu 2191 珍惜现在,感恩生活 (多重背包)
- HDU 2191 珍惜现在,感恩生活(多重背包)
- [ACM] hdu 2191 珍惜现在,感恩生活 (多重背包)
- HDU 2191 珍惜现在,感恩生活(多重背包)
- HDU 2191 珍惜现在,感恩生活 (多重背包)
- HDU 2191 珍惜现在,感恩生活 多重背包 .
- 珍惜现在,感恩生活(多重背包)
- 珍惜现在,感恩生活-多重背包问题
- HDU 2191 珍惜现在,感恩生活。将多重背包经二进制划分变为01背包。
- HDOJ 2191 珍惜现在,感恩生活(多重背包)
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包
- hdu 2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- hdu 2191 (多重背包)悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活( 多重背包 )
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
- 同步与死锁
- 关于myentunnel和prioxy
- 在.java文件中嵌入HTML
- Linux平台Makefile文件的编写
- 学习内容
- Hdu 2191 珍惜现在,感恩生活 (多重背包)
- sqlserver2005 express数据库导入/导出 DTSWizard.exe下载/安装
- FCL 4.0 Task
- 举例说明如何实现使用线程来实现UC浏览器的等待页面的效果
- ThinkPHP3.1学习笔记《一》
- 解决 Visual C++ 2012 C Runtime wannring and error
- 3GPP 第三代移动通信标准化的伙伴项目 简介
- 3GPP 协议导读
- 《STL源码剖析》读书笔记---第2章 空间配置器