套路啊……可持久化一下就可以在线了。
这题,也就是求一个点集与一个钦定点的 LCA 深度之和。
考虑到 LCA 的朴素算法:把其中一个点的祖先全部标记,然后从另一个点开始往根找第一个有标记的点。
那么 LCA 的深度其实就是 LCA 到根路径的点数。
所以可以把这个点集内所有点都到根路径加一,然后从钦定点到根求和。
可持久化一下就在线了。
代码:
1 |
|
套路啊……可持久化一下就可以在线了。
这题,也就是求一个点集与一个钦定点的 LCA 深度之和。
考虑到 LCA 的朴素算法:把其中一个点的祖先全部标记,然后从另一个点开始往根找第一个有标记的点。
那么 LCA 的深度其实就是 LCA 到根路径的点数。
所以可以把这个点集内所有点都到根路径加一,然后从钦定点到根求和。
可持久化一下就在线了。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment