前言
这篇是拿来学习带修改莫队的。。
之前学过一次,但是是假的
今天来学习一个真的带修改莫队
怎么做
自然是分块
块的大小S取
x23
x
2
3
,那么自然地,就会有
n13
n
1
3
个块
然后对于每一个操作先按照左端点的块排序,然后按右端点的块排序,最后按照他上一个修改操作是第几个排序就可以了
别的和莫队一样,然后修改操作也要一起移动
复杂度
左端点的复杂度: O(n∗n23)=O(n53) O ( n ∗ n 2 3 ) = O ( n 5 3 )
右端点的复杂度:
块内移动,这个每一次是
O(n23)
O
(
n
2
3
)
的
所以复杂度为
O(n∗n23)=O(n53)
O
(
n
∗
n
2
3
)
=
O
(
n
5
3
)
的
操作标记的复杂度
如果
l
l
和都在一个块里面,就是单调的
因此复杂度是
O(n13∗n13∗n)=O(n53)
O
(
n
1
3
∗
n
1
3
∗
n
)
=
O
(
n
5
3
)
所以复杂度就是 O(n53) O ( n 5 3 )