丹妮莉丝 @ 2019-10-31 20:35:10
dp[p%3][i][j]=max(dp[p%3][i][j],dp[(p-1)%3][j][k]+num[i])
dp[i][j][k]表示第i行状态为j,上一行状态为k,为什么这样用滚动数组是对的????
比如dp[1][j][k]比dp[3][j][k]+num[j]要大,那么dp[1][j][k]的状态不变,到了dp[5]怎么转移??
(口齿不清)
by zyywzw @ 2019-10-31 20:43:22
实话实说,这道题没必要滚动数组
by 陷语 @ 2019-11-09 11:22:42
根据状态转移方程我们可以发现,第i行的状态只与与i - 1, i - 2行的转态有关,自然而然的我们只要对i取一下模就可以实现空间滚动使用了,虽然这道题可以不用滚动数组优化