当前位置: 代码迷 >> 综合 >> HDU 2602 Bone Collector 01背包(裸) .
  详细解决方案

HDU 2602 Bone Collector 01背包(裸) .

热度:114   发布时间:2023-09-23 06:50:50.0

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

水的不行....

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1000+5;
int d[maxn],w[maxn];
// d[i]空间i下最大价值 
int main()
{int T,N,V,v; cin>>T;while(T--){cin>>N>>V;memset(d,0,sizeof(d));for(int i=0;i<N;i++)scanf("%d",&w[i]);for(int i=0;i<N;i++){scanf("%d",&v);for(int j=V;j>=0;j--)if(j>=v) d[j]=max(d[j-v]+w[i],d[j]);}cout<<d[V]<<endl;}return 0;
}