动态规划01背包:
核心公式:
dp[i][v] = max{ dp[ i-1 ][v], dp[ i-1 ][ v-w[i] ] + p[i] }。
第i件物品放或不放;
上一个状态的背包的价值
得到i 件物品的价值加上把i占的体积减去后空间的最大价值;
数组 | 下标1 | 下标2 | 下标3 |
---|---|---|---|
物品编号 kk | 1 | 2 | 3 |
p价值 | 3 | 2 | 1 |
w体积 | 1 | 2 | 3 |
dp数组 | (v)1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
(i)1 | 3 | 3 | 3 | 3 | 3 | 3 |
2 | 3 | 3 | 3 | 3 | 5 | 5 |
3 | 3 | 3 | 3 | 4 | 5 | 6 |