【笔记】动态规划
条评论文章目录
背包问题
有n件物品,每件物品的重量为w[i],价值为c[i]。现有一个重量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。其中每种物品只有1件。
- dp[i][v] 表示前 i 件物品恰好装入容量为 v 的背包所能获得的最大价值
- 不放第i件物品,则
dp[i][v] = dp[i-1][v]
- 放第i件物品,那么问题转化为前 i–1 件物品恰好装入容量j – w[i]的背包中所能获得的最大价值
dp[i-1][v-w[i]] + c[i]
- 不放第i件物品,则
- 递推方程
dp[i][v] = max(dp[i-1][v], dp[i-1][v-w[i]]+c[i]);
- 本文链接:https://blog.charjin.top/2020/01/29/dynamic-prgramming/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
分享