0/1背包
0/1背包降维
完全背包
多重背包(二进制优化)
混合背包
二维费用背包
分组背包
有依赖的背包
背包的方案总数\背包的具体方案路径
0/1背包:
有一个吝啬的地主,不愿意给工人付工钱,就从家里的物品中取出N个,对工人说, 你可以从这些物品中任意挑选,只要你的口袋装得下。
2 8 8 6 3 4 5 4 3 3
16
2:8 3:4 3:3 15
2 8 3 4 5 4 16
总问题:N个物品,占用M个空间时所能获得的最大价值。
子问题:f[i,j] :前i个物品占用j个空间时能获得的最大价值。(背包惯用定义方式)
从某个中间状态思考来源
F[i][j]=……….设前面的任何决策都有答案了,当前决策?(来源法)
因为只有选和不选两种方案,所以f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]);(若不选,及前i-1个物品占j个空间的最大价值,f[i-1][j],
若选,及前i-1个物品占j-w[i]个空间的最大价值,f[i-1][j-w[i]])