hdu 5410 CRB and His Birthday(0-1背包+完全背包)
来源:互联网 发布:修改美萍数据 编辑:程序博客网 时间:2024/04/30 02:58
CRB and His Birthday
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1605 Accepted Submission(s): 755
Problem Description
Today is CRB's birthday. His mom decided to buy many presents for her lovely son.
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
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)
解题思路:一个0-1背包和完全背包的融合,每种物品只有买第一种的时候会不同,之后完全一样,所以只需要在完全背包前面再加一个完全背包就好了~(^_^)
注意两种不同循环的方向~
#include <iostream>#include <cstring>#include <cstdio>using namespace std;#define maxn 1005int t,n,m;int w[maxn],a[maxn],b[maxn];int dp[2005];int main(){ int i,j; cin>>t; while(t--) { cin>>m>>n; for(i=0; i<n; i++) cin>>w[i]>>a[i]>>b[i]; memset(dp,0,sizeof dp); for(i=0; i<n; i++) { for(j=m; j>=w[i]; j--)//0-1 { dp[j] = max(dp[j],dp[j-w[i]]+a[i]+b[i]); } for(j=w[i]; j<=m; j++)//完全背包 { dp[j] = max(dp[j],dp[j-w[i]]+a[i]); } } cout << dp[m] << endl; } //cout << "Hello world!" << endl; return 0;}
- hdu 5410 CRB and His Birthday(0-1背包+完全背包)
- 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背包和完全背包混合)
- [HDU 5410]CRB and His Birthday[01、完全背包]
- hdu 5410 CRB and His Birthday 01完全混合背包
- [hdu 5410 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背包+完全背包)
- hdoj 5410 CRB and His Birthday 【0-1背包 + 完全背包】
- hdu 5410 CRB and His Birthday(背包)
- hdu5410~CRB and His Birthday(01背包+完全背包)
- hdu 5410 CRB and His Birthday 01背包和完全背包
- 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究[转]
- 纯JS实现国家/省/市三级级联
- javascript 可控速度的上下拉菜单
- 关于数据类型是浮点数的二分法
- fastJson API
- hdu 5410 CRB and His Birthday(0-1背包+完全背包)
- 判断IMEI或MEID是否合法
- 聚类算法
- 岭回归(ridge regression)
- Java中的Date和Calendar的常用用法
- Linux IPC总结
- PAT准备——C++库使用
- java中this 和super 的区别和用法
- JSP Actions