51Nod(1086)
来源:互联网 发布:海文网络计划软件教程 编辑:程序博客网 时间:2024/06/02 02:08
多重背包板子题。
我要重新练dp了,好特么菜。
#include <iostream> #include<bits/stdc++.h> using namespace std; int d[55000],n,m; void zeroonepack(int w,int p) { for(int i=m;i>=w;i--) if(d[i]<d[i-w]+p) d[i]=d[i-w]+p; } void completepack(int w,int p) { for(int i=w;i<=m;i++) if(d[i]<d[i-w]+p) d[i]=d[i-w]+p; } void multipack(int w,int p,int c) { if(w*c>=m) completepack(w,p); else { int k=1; while(k<c) { zeroonepack(k*w,k*p); c-=k; k*=2; } zeroonepack(c*w,c*p); } } int main() { while(~scanf("%d%d",&n,&m)) { memset(d,0,sizeof(d)); for(int i=0;i<n;i++) { int w,p,c; scanf("%d%d%d",&w,&p,&c); multipack(w,p,c); } cout<<d[m]<<endl; } }
阅读全文
0 0
- 51Nod(1086)
- 多重背包问题(51Nod 1086)
- 51nod 1086
- (51nod)1001
- (51nod)1002
- (51nod)1003
- (51nod)1004
- (51nod)1046
- (51nod)1009
- (51nod)1015
- (51nod)1080
- (51nod)1082
- (51nod)1008
- (51nod)1011
- (51nod)1012
- (51nod)1083
- (51nod)1087
- (51nod)1090
- 日常篇
- AOP通知类型
- F
- 递归 汉诺塔问题
- android.mk的配置说明
- 51Nod(1086)
- 硬盘,u盘等存储设备.正确方法
- WARN:oejw.WebAppContext:Failed startup of context o.m.j.p.JettyWebAppContext……
- 中标麒麟V6虚拟机安装和网络配置
- Android图片选择器
- 利用页面分析获取json数据
- rabbitmq销毁全部队列
- Python 需要单例模式吗
- jBox的 详细解说与介绍, 好用的jquery对话框插件