前置知识:基于值域的整体第k大(权值线段树)
写主席树必定需要注意空间的开销,一定要开够
若长度为n,修改为m次,则空间复杂度为n+m*logn。
可以在我的博客里翻一翻2333。
基础问题,求解区间第k大,或者区间小于等于k的个数:
下面两个前置知识LCA
Distance on the tree (2019南昌网络赛)
进阶:求解区间内不同数的个数或者不同数的和
若可以离线做的话,推荐使用树状数组
可离线的题:HDU-3333
SPOJ DQUERY - D-query
强制在线的题:HDU-5919
求区间中不同数的个数,在此基础上求区间第k大的下标是谁(下标定义为区间中第一次出现该数字的位置)。
树套树
单点修改,区间查询第k大