hdu 2602 Bone Collector

来源:互联网 发布:java项目添加log日志 编辑:程序博客网 时间:2024/05/16 02:56

解题思路:

简单的0-1背包问题,直接上代码;
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define maxn 1010int main(){int t;int n,v;scanf("%d",&t);while(t--){scanf("%d%d",&n,&v);int w[maxn],vol[maxn];for(int i=0;i<n;i++)scanf("%d",&w[i]);for(int i=0;i<n;i++)scanf("%d",&vol[i]);long long dp[maxn];memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){for(int j=v;j>=vol[i];j--){dp[j]=max(dp[j],dp[j-vol[i]]+w[i]);}}printf("%lld\n",dp[v]);}}


0 0
原创粉丝点击