之前说到01背包问题,为什么要倒序,是因为max的是 (无i这物品的价值f[i-1][j-v[i]]+w[i],f[i-1][m]),要去掉二维,就是这样,max(f[j-v[i]]+w[i] ,f[m]), 逆序是比当前j小的空间大小都没有在i的这个前提下更新,因为是先更新大的,一直递减。
完全背包,就是物品可多次取用,正序,这样,就是i的状态,有i物品的最大值max(f[i][j-v[i]]+w[i],f[i-1][m])),
正序再执行m的时候,前面的所有值都是带i更新了f[j],
之前说到01背包问题,为什么要倒序,是因为max的是 (无i这物品的价值f[i-1][j-v[i]]+w[i],f[i-1][m]),要去掉二维,就是这样,max(f[j-v[i]]+w[i] ,f[m]), 逆序是比当前j小的空间大小都没有在i的这个前提下更新,因为是先更新大的,一直递减。
完全背包,就是物品可多次取用,正序,这样,就是i的状态,有i物品的最大值max(f[i][j-v[i]]+w[i],f[i-1][m])),
正序再执行m的时候,前面的所有值都是带i更新了f[j],