hdu5410~CRB and His Birthday(01背包+完全背包)
来源:互联网 发布:迪杰斯特拉算法的应用 编辑:程序博客网 时间:2024/05/17 05:52
CRB and His Birthday
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1874 Accepted Submission(s): 884
Problem Description
Today is CRB's birthday. His mom decided to buy many presents for her lovely son.
She went to the nearest shop withM Won(currency unit).
At the shop, there areN kinds of presents.
It costsWi Won to buy one present of i -th kind. (So it costs k × Wi Won to buy k of them.)
But as the counter of the shop is her friend, the counter will giveAi × x + Bi candies if she buys x (x >0) presents of i -th kind.
She wants to receive maximum candies. Your task is to help her.
1 ≤T ≤ 20
1 ≤M ≤ 2000
1 ≤N ≤ 1000
0 ≤Ai, Bi ≤ 2000
1 ≤Wi ≤ 2000
She went to the nearest shop with
At the shop, there are
It costs
But as the counter of the shop is her friend, the counter will give
She wants to receive maximum candies. Your task is to help her.
1 ≤
1 ≤
1 ≤
0 ≤
1 ≤
Input
There are multiple test cases. The first line of input contains an integer T , indicating the number of test cases. For each test case:
The first line contains two integersM and N .
ThenN lines follow, i -th line contains three space separated integers Wi , Ai and Bi .
The first line contains two integers
Then
Output
For each test case, output the maximum candies she can gain.
Sample Input
1100 210 2 120 1 1
Sample Output
21HintCRB's mom buys 10 presents of first kind, and receives 2 × 10 + 1 = 21 candies.
Author
KUT(DPRK)
Source
2015 Multi-University Training Contest 10
Recommend
wange2014
背包的变形题,先跑一遍01背包,再跑一遍完全背包,刷新最大值
#include <iostream>#include <iomanip>#include<stdio.h>#include<string.h>#include<stack>#include<stdlib.h>#include<queue>#include<math.h>#include<algorithm>#include<vector>#define mem(a,b) memset(a,b,sizeof(a))using namespace std;int w[2005],a[2005],b[2005],sum[2005];int main(){ int s; scanf("%d",&s); while(s--) { int m,n; scanf("%d%d",&m,&n); for(int i=1;i<=n;i++) { scanf("%d%d%d",&w[i],&a[i],&b[i]); } mem(sum,0); for(int i=1;i<=n;i++) { for(int j=m;j>=w[i];j--) { sum[j]=max(sum[j],sum[j-w[i]]+a[i]+b[i]); } for(int j=w[i];j<=m;j++) { sum[j]=max(sum[j],sum[j-w[i]]+a[i]); } } printf("%d\n",sum[m]); }}
0 0
- hdu5410~CRB and His Birthday(01背包+完全背包)
- 混合背包 hdu5410 CRB and His Birthday
- HDU5410 CRB and His Birthday(混合背包)
- hdu5410 CRB and Birthday(背包)
- hdu 5410 CRB and His Birthday(01背包+完全背包)
- HDU 5410 CRB and His Birthday (01背包+完全背包)
- hdu 5410 CRB and His Birthday(01背包+完全背包)
- HDU 5410 CRB and His Birthday(完全背包,01背包)
- HDU 5410 CRB and His Birthday 混合背包(01背包和完全背包混合)
- hdu5410(2015多校10)--CRB and His Birthday(背包问题)
- [HDU 5410]CRB and His Birthday[01、完全背包]
- hdu 5410 CRB and His Birthday 01完全混合背包
- CRB and His Birthday(完全背包变形)
- HDU 5410 CRB and His Birthday(01背包+完全背包)
- HDU 5410 CRB and His Birthday(完全背包+01背包)
- HDU 5410 CRB and His Birthday(01背包+完全背包)
- HDU-5410-CRB and His Birthday(01背包+完全背包 better)
- HDU 5410 CRB and His Birthday(01背包+完全背包)
- PAT乙级 1070. 结绳
- Bootstraps 的12列网格布局是如何起作用的:
- java常量池概念
- 调用QQ临时会话,同时加可拖拽功能
- dalvik模式和art模式的区别
- hdu5410~CRB and His Birthday(01背包+完全背包)
- 线程的通讯
- 常用命令.txt
- 钉钉实现企业级项目在微应用内的免登的流程
- 获取select多选框的值
- spring框架7个模块的名字和功能
- CF
- Bag of Features (BOF)图像检索算法
- ffmpeg 交叉编译(编译工具是 arm-linux-gnueabihf-gcc)