题目链接
思路
查询区间第k小,考虑主席树。因为是从u到v的简单路径上,考虑将路径分为从u到lca和从lca到v两部分。所以对于每个点都维护出从根节点到当前节点中的点。查询的时候只要用ans[u] + ans[v] - ans[lca] - ans[fa[lca]]就行了。也就是在主席树的查询代码上略加修改。
代码
/*
* @Author: wxyww
* @Date: 2018-12-11 17:19:03
* @Last Modified time: 2018-12-11 18:05:14
*/
#include
#include
#include
#include