背包考前小结

背包问题

1、01背包:

一个物品取或不取,外层枚举第几个,内层枚举体积

注意降成一维时枚举体积要倒序。

2、完全背包

每种物品无限个。同上,只不过逆序改顺序(因为无限,则也要考虑当前层对答案的影响)

3、多重背包

可以看成01背包,只不过一种物品有多个,还是逆序循环体积,只不过多了层枚举个数。

可以二进制分解优化,从而转化为01背包。

4、混合以上三种背包

则多几个if语句,判断是哪种类型,分类讨论,代码同上

5、二维费用背包

只不过多了个状态而已,其他与上面一样。

有时候条件按隐含的方式给出:

猜你喜欢

转载自www.cnblogs.com/Frank-King/p/9932111.html