最近公共祖先(Lowest_Common_Ancestors)
一、基本概念
在一棵沒有環(huán)的樹上,每個(gè)節(jié)點(diǎn)肯定有其父親節(jié)點(diǎn)和祖先節(jié)點(diǎn),而最近公共祖先,就是兩個(gè)節(jié)點(diǎn)在這棵樹上深度最大的公共的祖先節(jié)點(diǎn)。
換句話說,就是兩個(gè)點(diǎn)在這棵樹上距離最近的公共祖先節(jié)點(diǎn)。
所以LCA主要是用來處理當(dāng)兩個(gè)點(diǎn)僅有唯一一條確定的最短路徑時(shí)的路徑。
二、算法
(1)Tarjan/DFS
詳細(xì)解釋
?
(2)ST/倍增
?
三、例題
http://acm.hdu.edu.cn/showproblem.php?pid=2586(題解:https://blog.csdn.net/weixin_43272781/article/details/88797017)
https://www.luogu.org/problemnew/show/P3379
http://acm.hdu.edu.cn/showproblem.php?pid=2874(題解:https://blog.csdn.net/weixin_43272781/article/details/88850225)
四、參考文章
https://www.cnblogs.com/JVxie/p/4854719.html
https://www.cnblogs.com/lsdsjy/p/4071041.html
總結(jié)
以上是生活随笔為你收集整理的最近公共祖先(Lowest_Common_Ancestors)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: How far away ?
- 下一篇: [USACO1.5]数字三角形 Numb