5️⃣

分组背包

分组背包的定义是这样的:
💡
给定n个物品组,和容量为v的背包,求每个物品组最多能拿一件物品时,最大的价值总和。
这个问题看起来和之前的三种背包问题不同了,但是仔细思考一下还是能考虑到n个分组,每个分组取一个物品,实际上和01背包还是十分相似,只不过多加了一个在每个分组中选择一个物品的决策过程。
这样说很显然就是在01背包的基础上增加了一个决策的维度。
稍微值得注意的是,当我们考虑循环次序的时候,应当以分组——容量——决策的顺序来进行,如果以分组——决策——容量的顺序,很显然的让背包中出现多个同分组决策的情况。