Problem
给一颗n个节点的树,节点有权值,求以u,v为端点的条上权值第k小。
$n,m<1e5$询问在线。
Solution
显然要用主席树维护。
但是,很难将链转化为序列。
所以要一种巧妙的做法。
每个节点的主席树由它的父亲继承下来。
然后,查询链的时候,只需要减去u,v的LCA和LCA的父亲的贡献即可。
1 |
|
机房最菜,没有之一。
给一颗n个节点的树,节点有权值,求以u,v为端点的条上权值第k小。
$n,m<1e5$询问在线。
显然要用主席树维护。
但是,很难将链转化为序列。
所以要一种巧妙的做法。
每个节点的主席树由它的父亲继承下来。
然后,查询链的时候,只需要减去u,v的LCA和LCA的父亲的贡献即可。
1 | #include <bits/stdc++.h> |