1.01背包
for(int i=0; i<n; i++) { for(int j=W; j>=w[i]; j--) //从后向前更新 { if(dp[j]<dp[j-w[i]]+v[i]) dp[j]=dp[j-w[i]]+v[i]; } } 若将背包装满 则初始化 dp[0] =0, dp[i] =-∞ i :1~W;
2.02完全背包
for(int i=0; i<n; i++) { for(int j=w[i]; j>=W; j++) //从前向后更新 { if(dp[j]<dp[j-w[i]]+v[i]) dp[j]=dp[j-w[i]]+v[i]; } } 若将背包装满 则初始化 dp[0] =0, dp[i] =-∞ i :1~W;
时间: 2024-12-09 20:06:31