DP: 0-1背包,完全背包
见:『 一文搞懂完全背包问题 』从0-1背包到完全背包,逐层深入+推导 - 零钱兑换 - 力扣(LeetCode)
0-1背包:
dp[i][w] = minmax(dp[i-1][w], dp[i-1][w-wi] + vi)
完全背包
dp[i][w] = minmax(dp[i-1][w], dp[i][w-wi] + vi)
即完全背包可以是重复选。
另外,通常可以简化2D数组到1D,因为总是用的前面的i-1的值。
dp[w] = minmax(dp[w], dp[w-wi]+vi)