我觉得01背包问题应该是可以用滚动数组的。。。比如说,,,f[sum]=vi+f[sum-w[i]]....然后从右往左,自上而下的更新。。。其实有些是没必要的更新。。。只不过判断哪些需要刷新的代价高于全部刷新(非递归版本)。。。用滚动数组还是二维数组的目的都是在与 我们想要的上一层的f[x]值被更新了。其实我们想要的已经被覆盖了。。。。而使用二维数组其实是将上一层的数据保存下来。。。避免在下一层中造成混乱。。。
01背包问题中用二维数组的思考
最新推荐文章于 2024-08-06 14:27:36 发布