
倍增求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 · 572 阅读 · 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 · 459 阅读 · 0 评论