01背包
每种东西只有一种,求背包容量为m时可以取得的最大价值

注意的是二维变一维优化的时候,第二维j从大到小枚举;(与完全背包相反)
完全背包
每种东西有无限种,求背包容量为m时可以取得的最大价值

从小到大枚举;
多重背包
每种物品有限个;

二维的多重背包,数据小的时候可以用;
优化代码:二进制优化,打包成一个一个新组,之后用01背包;

分组背包
每一组的物品内取最大的,不同的是需要用二维数组

每种东西只有一种,求背包容量为m时可以取得的最大价值
注意的是二维变一维优化的时候,第二维j从大到小枚举;(与完全背包相反)
每种东西有无限种,求背包容量为m时可以取得的最大价值
从小到大枚举;
每种物品有限个;
二维的多重背包,数据小的时候可以用;
优化代码:二进制优化,打包成一个一个新组,之后用01背包;
每一组的物品内取最大的,不同的是需要用二维数组