倍增求LCA
倍增求LCA
参考
LCA是什么
LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。
———来自百度百科
在这棵树上,7和5节点的最近公共祖先就是 3。
如何求LCA
那么如何求呢?详细的思考路径可以参考洛谷。这里只说下方法:
这里还需要引入: f(i,j) 表示 节点i 的第 2^j 老的祖先是哪个节点。
这里举个例子:f(17,0) = 14 (也就是17的父亲节点) f(17,1) = 10
步骤如下:
求两个点A,B的L
原创
2020-07-09 23:56:31 ·
417 阅读 ·
0 评论