01背包和完全背包问题

搞了好久终于来写dp了

完全背包问题和01背包问题只有一个区别,就是完全背包中物品可以取无数次但01背包只能取一次。

而因此带来的解法也只有一个不同,那就是用滚动数组时01背包要从后向前枚举而完全背包只需要从前往后枚举即可,具体为什么这个问题属实困惑了我一阵子。

完全背包从前向后枚举时前面的状态可能已包括了已经选择了当前物品的状态继续使用该状态相当于多次使用了这个物品,

而01背包从后往前枚举,前面的状态一直是没有使用过当前物品的,所以可以达到只使用一次这个物品的状态。

posted @ 2021-05-18 20:43  redintonc  阅读(379)  评论(0)    收藏  举报