![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题解-图论-LCA
Jarily
这个作者很懒,什么都没留下…
展开
-
树上两点的最近公共祖先-Tarjan_LCA离线算法
/* *算法引入: *树上两点的最近公共祖先; *对于有根树的两个结点u,v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u,v的祖先且x的深度尽可能大; *对于x来说,从u到v的路径一定经过点x; * *算法思想: *Tarjan_LCA离线算法; *Tarjan算法基于dfs的框架,对于新搜到的一个结点,首先创建由这个结点构成的集合,再对当前结点的每个子树进行搜索;原创 2013-05-19 21:19:28 · 9030 阅读 · 3 评论 -
HDU4547(CD操作)LCA+Tarjan离线算法
/* *题目大意: *题目为天朝文字,不多说; * *算法思想: *题目很明显要求的是一个LCA问题; *即询问从A到B的需要的步数,即首先从A到达A和B的最近公共祖先需要的步数+1就OK了; * *算法步骤: *由于是有向图,所以开始可以用一个数组ind记录每个顶点的入度; *如果该顶点的入度为0,则可以当做根节点,利用dfs求出树中每个顶点的深度d; *则从u到v的步数a原创 2013-06-05 15:24:47 · 1957 阅读 · 0 评论