各位国庆快乐哈,祝各位玩的开心,我们明天就开学了,就多放一天枯了55555.
愿有情人苦尽甘来最终两不辜负,愿保研边缘党成功上岸,愿我少掉几根头发╮(๑•́ ₃•̀๑)╭
这回讲完背包中的完全背包和多重背包和混合问题。
完全背包问题:每件物品无限多个,我们可以回想上次提到的01背包为什么从后向前遍历,是因为从后向前更新,后面的数组更新不会影响前面的排列。遇到完全背包可以反过来思考,让数组从前向后更新,就可以多次使用同一个物品。
基础的依然是滚动数组优化空间复杂度:O(VN)
还有一种二进制优化01背包的思想优化时间复杂度:O(Nlog[V/Ci])这个放在后面和多重背包一起讲。
这两种思想是常用的优化思路,要牢记并理解
多重背包问题:从简开始:
一个物品可以用Mi遍,那么最朴素的思想便是用Mi遍01背包复杂度O(NV