我自己都被这两行弄懵了

P1156 垃圾陷阱

```cpp dp[i][j+a[i].hi]=max(dp[i][j+a[i].hi],dp[i-1][j]-(a[i].t-a[i-1].t)); dp[i][j]=max(dp[i][j],dp[i-1][j]+a[i].f-(a[i].t-a[i-1].t)); ``` 我被自己这两行弄懵了 有大佬可以帮我解释一下吗
by Kobe303 @ 2020-08-29 21:22:20


您被弄懵了又是如何写出来的
by sukimo @ 2020-08-29 21:46:04


@[soul_maker](/user/313892) 一开始灵光一现 后来看了一遍懵了
by Kobe303 @ 2020-08-29 21:49:08


对于第 $N$ 个垃圾,面前有 $K$ 高的垃圾堆 要么选择吃垃圾,给自己续几秒,垃圾堆高度不变,还是更新高度为 $K$ 时的最优解。 要么选择堆垃圾,垃圾堆高度改变成 $K+rubbish_{\ i}.height$ ,更新高度为 $K+rubbish_{\ i}.height$ 时的最优解? 我是这么理解的。
by quest_2 @ 2020-08-29 22:00:15


@[quest_2](/user/150879) 谢谢
by Kobe303 @ 2020-08-30 12:27:21


|