1.线性DP
2.背包DP
0/1背包中的将二维化为一维,需要倒序遍历,当前状态仅由i-1层状态而来。
现在终于理解了,因为我们将i这一维给去掉了,我们我们遍历i这一层的时候,由大到小遍历,大的(正在更新的)就是我们的第i层,但是前面1~j-1却还保留在了第i-1层上(因为其尚未被遍历更新信息,所以自己所保留的信息仍是第i-1层的)。
这样我们就保证了,第i个物品(也可以说是每个物品)只会被我们放入背包一次。
而完全背包确实从小到达遍历更新,那么他就造成了我们的j信息,不仅是由第i-1层信息更新而来,同时还由前面1~j-1更新而来,也就是遍历更新过的j再次更新j。
3.区间DP