题目链接: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 }
浙公网安备 33010602011771号