51nod 1086
来源:互联网 发布:乐1pro刷机包优化内核 编辑:程序博客网 时间:2024/06/05 07:05
题意:
多重背包问题。
思路:
多重背包+二进制优化
AC代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <queue>#include <stack>#include <vector>#include <set>#define INF 0x3f3f3f#define ll long longusing namespace std;int T[20005];int V[20005];int dp[50005];int main(){ int n,w; int a,b,c; int k; int cont=1; scanf("%d%d",&n,&w); for(int i=1; i<=n; i++){ scanf("%d%d%d",&a,&b,&c); if(c==1){ T[cont]=a; V[cont]=b; cont++; continue; } for(int k=1; k<=c; k*=2){ T[cont]=a*k; V[cont]=b*k; cont++; c=c-k; } if(c>0){ T[cont]=c*a; V[cont]=b*c; cont++; } } memset(dp,0,sizeof(dp)); for(int i=1; i<cont; i++){ for(int j=w; j>=T[i]; j--){ dp[j]=max(dp[j],dp[j-T[i]]+V[i]); } } printf("%d\n",dp[w]); return 0;}
0 0
- 51nod 1086
- 51Nod(1086)
- 51nod-1086 多重背包
- 51Nod
- 51Nod
- 51nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 51Nod
- 正则表达式校验身份证号
- 最佳浏览路线问题 算法设计
- spring ioc和DI理解
- 通过userAgent判断手机浏览器类型
- HDOJ 2040 亲和数
- 51nod 1086
- react学习札记(一)
- hdu5612
- meanshift跟踪算法总结
- python之10分钟pandas
- 最小公倍数问题 算法设计
- Codevs 1069关押罪犯[Noip2010]
- 点击返回键,直接回退到桌面
- 关于内存越界