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