0-1背包问题中第二层循环为什么要倒序,完全背包问题中的第二层循环为什么又正序了

我们将一维数组看作是一条直线,并且用前面的元素值来更新后面的元素值,我们有两种选择,一是从前往后更新,二是从后往前更新,但这两种更新的效果完全不同: 从前往后更新,我们选择的是根据当前的状态值来更新本次的结果,从后往前更新,我们选择的是根据上一次的状态值来更新本次的结果。 0-1背包问题的状态转移方程是:f[i][j] = max(f[i-1][j], f[i-1][j - weight[i]]
相关文章
相关标签/搜索