odeforces Round 923 (Div. 3)
__vector__ · · 个人记录
倒开不幸被卡。
G 被 hack 了,请忽略以下。
一张图描述状态:
G
可以想到 dp 做法,并且看起来最重要的两个量是:
- 当前的结尾位置
i - 前
i 个涂满,且延伸到j \ge i 位置同样全部涂满。
设状态
以下对 dp 赋值默认是 chkmin
考虑转移:
- 第
i 个向左涂:dp_{i,max(y,i)} = min(dp_{k,y})$,注意 $k \lt i,y \ge i-a_i - 第
i 个向右涂:dp_{i,max(y,min(n,i+a_i-1))} = min(dp_{k,y})$,注意 $k \lt i,y \ge i-1 - 第
i 个不涂:dp_{i,y} = min(dp_{k,y})$,注意 $k \lt i,y \ge i
还有一种特殊情况,在样例的 testcase11 中可以看见。
这种情况就是
做完了。
简单分析一下,本算法复杂度
A-F
A-E 没做,F 一直 WA。