最近公共祖先 算法总结

现知LCA算法有倍增、Tarjan、树链剖分
再LCA问题上各自的特点如下表

倍增 Tarjan 树链剖分 RMQ
数组 fa[u][i], dep fa, vis, query, ans fa, dep, size_tree, heavy_child, top_chain st[2*N][k], dep, pos
思路 深搜打表,跳跃查询 深搜回溯,离线查询 二重深搜打表,跳跃查询 深搜序列,ST查询
时间复杂度 O((n+m)logn) O(n+m) O(n+mlogn) O(nlogn+m)
链接 https://www.cnblogs.com/V-sama/p/17365882.html https://www.cnblogs.com/V-sama/p/17367135.html https://www.cnblogs.com/V-sama/p/17369701.html https://www.cnblogs.com/V-sama/p/17375464.html
posted @ 2023-05-03 21:31  eternal_visionary  阅读(15)  评论(0编辑  收藏  举报