mshd.net
当前位置:首页 >> tArjAn lCA >>

tArjAn lCA

不是,tarjan是正常人写的算法中最快的。LCA可以经过两次转化后做到O(n),但是这样没有太大实际意义,因为并查集的复杂度并不比这个大。

倍增法:nlogn预处理,logn查询 树链剖分:O(n)预处理,O(logn)查询(常数和码量较大) Tarjan离线算法O(n+q)一次性求出q个询问

最近公共祖先. 给出一棵树和若干个询问,询问两个节点的最近公共祖先。 可以转换为RMQ,也可以直接用Tarjan算法,还可以直接暴力做 具体看: http://wenku.baidu.com/view/f9a55d1b6bd97f192279e9a9.html

最近公共祖先(Least Common Ancestors) 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。 这...

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com