DP中背包问题总结
1.01背包:有n种物品与承重为m的背包。每种物品只有一件,每个物品都有对应的重量weight[i]与价值value[i],求解如何装包使得价值最大。
//基本问题:二维vec->滚动vec->一维vec
2.完全背包:有n种物品与承重为m的背包。每种物品有无限多件,每个物品都有对应的重量weight[i]与价值value[i],求解如何装包使得价值最大。
//直接v循环从逆序变为正序即解决
3.多重背包:有n种物品与承重为m的背包。每种物品有有限件num[i],每个物品都有对应的重量weight[i]与价值value[i],求解如何装包使得价值最大。
//本质仍然01背包,多加一步vec的转化即可
参考:
https://blog.csdn.net/tinyguyyy/article/details/51203935
https://blog.csdn.net/txl199106/article/details/45869557