HDU 2602 Bone Collector
2016-05-25 11:46
369 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602
Total Submission(s): 48219 Accepted Submission(s): 20113
The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the
maximum of the total value the bone collector can get ?
Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third
line contain N integers representing the volume of each bone.
5 10
1 2 3 4 5
5 4 3 2 1
[align=left]
[/align]
Open Contest
比较经典的01背包。不多解释,这里采用滚动数组优化空间复杂度。
附上AC代码:
Bone Collector
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 48219 Accepted Submission(s): 20113
Problem Description
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the
maximum of the total value the bone collector can get ?
Input
The first line contain a integer T , the number of cases.Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third
line contain N integers representing the volume of each bone.
Output
One integer per line representing the maximum of the total value (this number will be less than 231).Sample Input
15 10
1 2 3 4 5
5 4 3 2 1
Sample Output
14[align=left]
[/align]
Author
TeddySource
HDU 1st “Vegetable-Birds Cup” ProgrammingOpen Contest
Recommend
lcy | We have carefully selected several similar problems for you: 2159 2955 1171 2191 2844比较经典的01背包。不多解释,这里采用滚动数组优化空间复杂度。
附上AC代码:
#include <bits/stdc++.h> //#pragma comment(linker, "/STACK:102400000, 102400000") using namespace std; const int maxn = 1005; int dp[maxn]; int c[maxn], w[maxn]; int n, v; int main(){ #ifdef LOCAL freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int T; scanf("%d", &T); while (T--){ scanf("%d%d", &n, &v); for (int i=0; i<n; ++i) scanf("%d", w+i); for (int i=0; i<n; ++i) scanf("%d", c+i); memset(dp, 0, sizeof(int)*(v+1)); for (int i=0; i<n; ++i) for (int j=v; j>=c[i]; --j) dp[j] = max(dp[j], dp[j-c[i]]+w[i]); printf("%d\n", dp[v]); } return 0; }
相关文章推荐
- 【HDU 5366】The mook jong 详解
- 【HDU 2136】Largest prime factor 详细图解
- 【HDU 1568】Fibonacci 数学公式 详解
- HDU 1568
- HDU1290
- HDU1568(Fobonacci公式)
- HDU ACM Step 2.2.2 Joseph(约瑟夫环问题)
- HDU 1405
- HDU 1297
- hdu 1205
- hdu 2087
- hdu 1016
- HDU 4898 The Revenge of the Princess’ Knight ( 2014 Multi-University Training Contest 4 )
- HDU 5592 ZYB's Premutation 线段树(查找动态区间第K大)
- HDU 5240 Exam (好水的题)
- HDU5237 Base64 大模拟
- HDU 1000
- HDU 1001
- HDU 1016 Prime Ring Problem
- HDU 1017 A Mathematical Curiosity