算法 | 莫队算法
莫队算法适用于:若存在一个长度为 $n$ 的序列,对于序列上的 $m$ 个区间询问问题,如果一个区间答案能够在 $O(1)$ 转移到相邻区间的答案,那么可以通过莫队算法在 $O(n\sqrt m)$ 的复杂度求出所有询问。
对于区间 $[l,r]$,它的相邻区间定义为:
- $[l-1,r]$
- $[l+1,r]$
- $[l,r-1]$
- $[l,r+1]$
莫队算法适用于:若存在一个长度为 $n$ 的序列,对于序列上的 $m$ 个区间询问问题,如果一个区间答案能够在 $O(1)$ 转移到相邻区间的答案,那么可以通过莫队算法在 $O(n\sqrt m)$ 的复杂度求出所有询问。
对于区间 $[l,r]$,它的相邻区间定义为: