题目入口
01背包模板
#include <bits/stdc++.h>
using namespace std;
const int MAXN=1e3+10;
int v[MAXN];
int w[MAXN];
int dp[MAXN];
int main(){
int T;
cin>>T;
while(T--){
int n,V;
cin>>n>>V;
for(int i=1;i<=n;i++)cin>>v[i];
for(int i=1;i<=n;i++)cin>>w[i];
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++){
for(int j=V;j>=w[i];j--){
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
cout<<dp[V]<<endl;
}
return 0;
}
原文:https://www.cnblogs.com/qq103013999/p/12833587.html