在解决简单背包问题时,动态规划的状态转移方程如下: 该方程表示:在考虑第 i 个物品时,当前背包容量为 w,如果不放物品 i,则最大价值是 dp[i-1][w];如果 放入物品 i,则最大价值是 dp[i-1][w - weights[i-1]] + values[i-1],其中数组weights和values分 别表示所有物品的重量和价值,数组下标从0开始。
dp[i][w] = max(dp[i-1][w], dp[i-1][w - weights[i-1]] + values[i-1]);