动态规划——背包问题
·
背包问题
背包问题是各种dp的经验总结,很多题目或多或少都有参考背包问题的思路。
背包问题大意是给定一些物品,每个物品都有限制选择的因素(比如体积)和价值,在不违反限制条件(比如背包容量)的情况下,选择物品使总价值最大。
背包问题有很多种变体,主要包括:
- 01背包问题:每种物品只能选或不选(选0次或1次)。
- 完全背包问题:每种物品可以选择无限次。
- 多重背包问题:每种物品有数量限制。
- 分组背包问题:物品被分为若干组,每组只能选一个物品。
- 混合背包:以上四种背包问题混在一起。
- 多维费用的背包问题:限定条件不止有体积,还会有其他因素(比如重量)。
除了经典的总价值最大问题,还会有:
-
方案总数。
-
最优方案。
-
方案可行性。
-
输出具体方案。
因此,背包问题种类非常繁多,题型非常丰富。但是,尽管背包有很多变形,都是从01背包问题演化过来的。
因为原文字数太多,拆分成几篇。链接:
动态规划——01背包问题-CSDN博客
还有一个有依赖的背包问题,这个问题严格来说属于树形dp。等本人到达了那个境界再讨论。
相关OJ
01背包
- 01背包模板题
[P1048 NOIP 2005 普及组] 采药 - 洛谷
- 求方案数
- 求具体方案
- 01背包变种(或和其他知识点一起考)
[P2946 USACO09MAR] Cow Frisbee Team S - 洛谷
完全背包
- 模板题
- 求完全背包的方案数
- 完全背包的变种
[P2918 USACO08NOV] Buying Hay S - 洛谷
[P5662 CSP-J2019] 纪念品 - 洛谷
多重背包
- 模板题
- 二进制优化
- 多重背包求方案数
[P1077 NOIP 2012 普及组] 摆花 - 洛谷
分组背包OJ汇总
- 模板题
- 分组背包变种
[P5322 BJOI2019] 排兵布阵 - 洛谷
多维费用背包OJ汇总
- 二维01背包模板题
- 二维01背包的变种
混合背包问题
有依赖的背包问题
更多推荐
所有评论(0)