题意分析
带修改树链第\(k\)大
首先我们使用树链剖分将树上问题转化为区间问题
然后对于当前修改 我们直接修改即可
对于链上第\(k\)大 我们先求一个总点数
转化为链上第\(k\)小
然后我们将\(x\)到\(y\)之间所有的重链都提出来
那么在\(dfs\)序上就是一堆连续区间
而且最多\(log\)个
类比于区间问题维护一个区间
我们顶多维护\(log\)个区间
然后同时跳即可 详细见代码即可
CODE:
#include #include #include #include #include #include #include #include #include
HEOI 2019 RP++