题意:有一个数组 a[] 长度为n. q组询问,每组询问[L,R]表示询问a1……aL,aR……an中有多少个不同的数字。n,q=1e5. 令an+i=ai,将原数组a[]的长度扩大为2n 原询问等价于[R,n+L],即询问aR……an,an+1,……,an+L中有多少个不同的数字。 莫队思想:利用 询问的离线性 和 答案支持连续的端点修改 两个性质,调整询问的顺序。 我们依据 询问的左端点的值 把所有的询问区间分为√n 组,每一组的长度是√n ,左端点值为x,则这个询问落在第(x/√n+1)组。 各组组内也要排序,组内的顺序即右端点的值从小到大。 ...