背包问题中的01背包问题
状态转移方程 dp[i] [j] = max(dp[i - 1] [j], dp[i - 1] [j - weight[i]] + value[i]);dp[j]表示:容量为j的背包,所背的物品价值可以最大为dp[j],那么dp[0]就应该是0,因为背包容量为0所背的物品的最大价值就是0。首先从dp[i] [j]的定义出发,如果背包容量j为0的话,即dp[i] [0],无论是选取哪些物品,背包价值总和一定为0。dp[0] [j],即:i为0,存放编号0的物品的时候,各个容量的背包所能存放的最大价值。
原创
2023-06-28 19:07:22 ·
101 阅读 ·
1 评论