#背包九讲
文章平均质量分 77
问好眼
贵有恒,何必三更眠五更起;
最无益,只怕一日曝十日寒。
展开
-
第五讲 二维费用的背包问题
本题在前面背包问题的基础上,增加了一个维度——质量,背包拥有了容积、承重两个限制,物品也有了体积、质量两种属性。原创 2024-02-06 11:21:41 · 439 阅读 · 0 评论 -
第四讲 混合背包问题
【代码】第四讲 混合背包问题。原创 2024-02-05 23:24:08 · 397 阅读 · 0 评论 -
第三讲 多重背包问题②——二进制优化
【题意分析】根据当前数据范围,的时间复杂度过不了,最多为。背包,那么我们需要循环。个物品的情况,比如;原创 2024-02-05 17:57:04 · 897 阅读 · 0 评论 -
第三讲 多重背包问题①——转化
【题目来源】[AcWing 4. 多重背包问题 I](https://www.acwing.com/problem/content/4/)当有一种物品的个数,多于或等于背包完全装该种物品的数量时,此时相当于完全背包,即。【题意分析】和完全背包问题类似,但是区别在于每一种物品的数量是有限的。因为每一种物品数量有限,所以将每个物品看作单独的种类,可转化为。原创 2024-02-05 16:30:39 · 953 阅读 · 0 评论 -
第二讲 完全背包问题
【题目来源】[AcWing 3. 完全背包问题](https://www.acwing.com/problem/content/3/),即上一行同一列或同一行前列,数组前面的值会发生改变并且决定后面的值,所以应该从前往后遍历。背包的唯一区别在于,每一个物品变为了每一种物品且都有无数件,可以重复装入。种物品可装入,但是我不知道现在想要装入的这前。种物品已经装入了几个,所以考虑空间为。要注意,此时的状态转移方程会发生改变。亦可解释为,当背包空间为。种物品的装入情况,即。原创 2024-02-05 15:35:38 · 736 阅读 · 0 评论 -
第一讲 0/1背包问题
优化:我们发现dp[i][j]的值取决于dp[i - 1][j]或dp[i - 1][j - q[i].v],即上一行同一列或上一行前列,因此可将二维数组dp[i][j]优化为dp[j],要注意的是数组后面的值取决于前面的值,所以应该从后往前遍历。②装入第 i 个物品,要求当前的背包空间不小于q[i].v,dp[i - 1][j - q[i].v] + q[i].w;最后答案即为,当背包空间为 V 时,我面前有前 n 个物品,能够装入的最大价值。①不装入第 i 个物品,dp[i - 1][j];原创 2024-02-05 12:58:28 · 863 阅读 · 0 评论