因为每个物品可以选择无限件,所以我们决策使用一个物品时,需要考虑它的件数因此表达式为第一个公式的形式 再观察第二个表达式f[i,j-v]的形式,与第一个只相差一个w[i]因此递推关系可以表示成f(i,j)=max(f(i,j-v)+w,f(i-1,j);
代码段#includeusing namespace std; const int N=1010; int f[N][N],v[N],w[N]; int n,m; int main() { cin>>n>>m; for(int i=1;i >v[i]>>w[i]; for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) { f[i][j]=f[i-1][j]; if(j>=v[i]) f[i][j]=max(f[i][j],f[i][j-v[i]]+w[i]); } cout<



