![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增求LCA
对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。
Cass-ette
小学四年级信竞,直到初三退役。
高中被竞争对手学校挖去复出,然后因太久没打少初赛几分光荣(doge)退役。
还能不能接触IT随缘,希望情未断,缘未了
展开
-
【NOIP2015提高组Day2】运输计划
按惯例发题…… 分析: 其实题目说那么多,一句话就是:给定一棵带权树与mmm条路径,你可以使一条树上的边的权值变为0,问你mmm条路径的长度的最大值最小是多少。 这道题让我想到了货车运输这道题,但是更难,但方法可以借鉴。 因为这是最大值最小问题,很显然可以二分答案。 那这个二分判断怎么打呢? 我们如果遇到某条边,所有超时的边(即超过当前二分的答案)都经过此边,且最长路径减当前边的权值小于等...原创 2019-05-31 20:05:20 · 514 阅读 · 3 评论 -
倍增求LCA(最近公共祖先)
文章目录定义如何求$LCA$正题:倍增法 定义 LCA(Least Common Ancestors),最近公共祖先,如节点zzz是x,yx,yx,y的祖先,则称zzz是x,yx,yx,y的公共祖先,深度最最大的公共祖先称为LCALCALCA。 比如说: LCALCALCA(4,5)=2,LCALCALCA(5,6)=1,LCALCALCA(2,3)=1。 懂了? 如何求LCALCALCA 暴力...原创 2019-03-09 16:47:45 · 343 阅读 · 0 评论