一个背包的容量为10,现有3个物品,它们的重量分别为[6, 3, 4],价值分别为[5, 4, 3]。使用动态规划求解背包能装入的最大总价值,动态规划状态转移方程中,当考虑第i个物品是否放入时,需要用到哪些状态?
答案解析
在0-1背包问题中,dp[i][j] 表示前i个物品放入容量为j的背包的最大价值。状态转移时,要么不放入第i个物品,此时价值为 dp[i-1][j];要么放入第i个物品(如果背包容量足够),此时价值为 dp[i-1][j-w[i]] + v[i], 需要比较这两种情况取最大值。因此需要考虑dp[i-1][j] 和 dp[i-1][j-w[i]]。
正确答案:C