KunKun的征途

明天的明天,你还会送我水晶之恋吗?

导航

[HDU 2602]Bone Collector ( 0-1背包水题 )

Posted on 2014-10-16 09:42  西域小车  阅读(139)  评论(0)    收藏  举报

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602

水题啊水题

还给我WA了好多次

因为我在j<w[i]的时候状态没有下传。。

 

 1 #include <cstdio>
 2 #include <algorithm>
 3 #include <cstring>
 4 using namespace std;
 5 typedef long long LL;
 6 typedef pair<int,int> PII;
 7 #define PB push_back
 8 #define SZ size()
 9 #define X first
10 #define Y second
11 
12 int T,N,V;
13 int dp[1100][1100];
14 int w[1100],v[1100];
15 
16 int main(){
17     scanf("%d",&T);
18     while( T-- ){
19         scanf("%d%d",&N,&V);
20         for(int i=1;i<=N;i++){
21             scanf("%d",&v[i]);
22         }
23         for(int i=1;i<=N;i++){
24             scanf("%d",&w[i]);
25         }
26         memset(dp,0,sizeof(dp));
27         for(int i=1;i<=N;i++){
28             for(int j=0;j<=V;j++) if(j>=w[i]){
29                 dp[i][j] = max(dp[i-1][j-w[i]]+v[i],dp[i-1][j]);
30             } else {
31                 dp[i][j] = dp[i-1][j];
32             }
33         }
34         printf("%d\n",dp[N][V]);
35     }
36     return 0;
37 }