dp(i+1, j) = max(dp(i, j), dp(i, j-weights(i)) + values(i));有错
时间: 2024-05-28 12:10:15 浏览: 26
通过数组求任意多个数字的最大值
这个状态转移方程有一个小错误,应该是:
dp(i, j) = max(dp(i-1, j), dp(i, j-weights(i)) + values(i))
其中,dp(i, j)表示前i个物品放入容量为j的背包中所能获得的最大价值,weights(i)表示第i个物品的重量,values(i)表示第i个物品的价值。
阅读全文