滚动数组:
使用条件
- 每个状态只与上个状态有关
使用技巧:
1.讲原本开的N维数组变成二维,f[N][M][M] ---> f[2][M][M]
2.讲第i个和i-1个状态“与上1”。因为i和i-1肯定是一奇一偶,所有与上1后,分布是f[1]和f[0]。
这样i循环时,数组就会在f[0]和f[1]交替。
如背包模型的空间优化:f[i & 1][j] = f[i - 1 & 1][j - v] + w[i]
参考题目来源: 292.炮兵阵地
1.讲原本开的N维数组变成二维,f[N][M][M] ---> f[2][M][M]
2.讲第i个和i-1个状态“与上1”。因为i和i-1肯定是一奇一偶,所有与上1后,分布是f[1]和f[0]。
这样i循环时,数组就会在f[0]和f[1]交替。
如背包模型的空间优化:f[i & 1][j] = f[i - 1 & 1][j - v] + w[i]
参考题目来源: 292.炮兵阵地