WC 2023 楼梯。
Cocoly1990 · · 个人记录
考虑楼梯并不好刻画,考虑刻画其轮廓线,记右边界为
事实上,如果我们记录每个
然后,这个差分数组,和原楼梯显然是双射,所以这么刻画是充要的。
这么刻画的好处就是,子楼梯刚好对应轮廓线数组中的一段区间。
怎么通过一段区间还原出对应的格子是容易的,同样的,+,- 的操作也是容易的。
当然了,一段区间所代表的边界格也是好表示的,就是
注意到,当且仅当我们选择的区间的两端分别是
考虑询问,我们将轮廓线数组每
其实注意到,
然后注意到这是一个可二分的结构,具体的:
考察一次二分点
然后,回退,可持久化即可,我也不知道出题人为啥要这么搞。
时间复杂度