普通莫队
- 把区间分成许多个长度为 (sqrt n) 的小区间,然后以左端点区间位置为第一关键字,然后右端点为第二关键字排序。
- 这样的时间复杂度是 (O(sqrt n imes n)) 的时间复杂度,因为,一个区间一个区间的看,第一个区间,很显然是右指针必须走 (n) 步,然后左指针最多走 (sqrt n + sqrt {n-1} + sqrt {n-2} + ··· + 1) 即 (frac{(sqrt {n} + 1) imes sqrt {n}}{2}),然后一个区间的总步数就是 (frac{n+1}{2} + n),然后所有区间的总步数就是 ((frac{n+1}{2} + n) imes left lfloor frac{n}{sqrt{n}} ight floor)