1A啊,激动. 首先,不修改的情况下可以直接用主席树搞,修改的话,直接用主席树搞一次修改的情况下复杂度是O(nlogn)的. 就像你要求区间和一样,用前缀和查询是O(1),修改是O(n),只不过主席树是前缀和套权值线段树,每个操作乘个logn. 如果用树状数组来维护区间和,查询是O(logn),修改是O(logn),那么用树状数组套权值线段树,每个操作就是O(log^2n). 由于这道题还需要修改 改动一个数的前驱和后继.用set搞一搞. # include <cstdio> # includ…