用树状数组动态和查询修改排名. 树状数组可以很方便地查询前缀和,那么可以利用这一特点,记录一个点在树状数组里最后一次出现的位置, 查询出这个位置,就可以知道这个点的排名了.更改这个点的排名的时候只要把原来位置修改成0,然后在新的位置加上1就行了. 把询问离线,数据范围比较大,先用快排+去重离散(用map也可,就是慢了一点), #include<bits/stdc++.h> using namespace std; , N = maxn*-; ],sz,pos[maxn]; #define lo…