hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包
2016-05-06 19:01
309 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191
题意:n元钱,m种大米,给出每种大米的价格,重量,袋数,求能买的最大重量
多重背包的模板题
题意:n元钱,m种大米,给出每种大米的价格,重量,袋数,求能买的最大重量
多重背包的模板题
#include <iostream> #include<cstdio> #include<cstring> #include<cmath> #define N 110 using namespace std; int d ,n,m; void completepack(int c,int w) { for(int i=c;i<=n;i++) if(d[i]<d[i-c]+w) d[i]=d[i-c]+w; } void zeroonepack(int c,int w) { for(int i=n;i>=c;i--) if(d[i]<d[i-c]+w) d[i]=d[i-c]+w; } void multiplepack(int c,int w,int t) { if(t*c>=n) completepack(c,w); else { int k=1; while(k<t) { zeroonepack(k*c,k*w); t-=k; k<<=1; } zeroonepack(t*c,t*w); } } int main() { int T; cin>>T; while(T--) { cin>>n>>m; memset(d,0,sizeof(d)); for(int i=0;i<m;i++) { int c,w,t; scanf("%d%d%d",&c,&w,&t); multiplepack(c,w,t); } cout<<d <<endl; } }
相关文章推荐
- Spring MVC程序中得到静态资源文件css,js,图片 文件的路径
- uuid的生成
- HDU 3861 The King’s Problem 连通分量+二分匹配
- InfluxDB 入门安装教程
- Oracle_bond网卡配置
- HDU 4532
- JPA & Hibernate 注解
- vtk提取二维bmp图像某区域
- 盲点集锦
- ADO.NET——DataView
- Linux系统下Apache2.4.17的安装过程
- Linux命令(2):free
- nginx身份验证
- vim 的使用(三)—— 查看和设置文件的格式
- xcode 中代码块存放位置
- css解决td单元格内文字溢出
- Java多线程之-----实现自己的ThreadFactory
- linux软件---源码包安装的思考
- js基础
- Activity之isTaskRoot和moveTaskToBack方法简介