不能用二维dp了,应该用一维dp

不能用二维dp了,应该用一维dp

hlt0310 · 发布于 2024-01-23 · 浏览 568 回复 0

``

include<bits/stdc++.h>

using namespace std; //https://old.ynoip.cn/p/3011 const int N=1e6+1; int n,c,w[N],v[N],dp[N]; int main() {

scanf("%d %d",&n,&c);
for(int i=1;i<=n;++i) scanf("%d",w+i);
for(int i=1;i<=n;++i) scanf("%d",v+i);
for(int i=1;i<=n;++i)
	for(int j=c;j>=w[i];--j) dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
printf("%d",dp[c]);
return 0;

} ``

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复