可持久化线段树 2
题意:
给一数组 多次询问一个区间 求该区间第k大的数 n和q都可以到达2e5
思路:
每次查询 直接暴力找第k大的数肯定会超时 然而如果用普通线段树 因为每次查询的k不一样就要维护很多棵树会爆空间 所以要用主席树
每次更新一个数就添加一个根节点 只更新维护的区间中包含当前数的节点 其余的点延续上一个根节点维护的线段树
利用前缀和思想 :
l r区段的数的个数就是sum[rt[r]] - sum[rt[l - 1]]
#include
#include
#include<string>
#include<set>
#include