图论----------LCA
文章平均质量分 69
cutedumpling
啦啦啦啦啦啦啦啦啦啦啦啦
展开
-
LCA-Tarjan 算法
LCA 主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径,且你的父亲也是你的祖先,而 LCA 还可以将自己视为祖先节点。 性质:求 B、C 两点间的距离,设 A 点为 B、C 两点的最近公共祖先,D 为任意一点,则有 |BC| = |BD| + |CD| - 2*|AD|。 常用的求LCA的算法有:Tarjan/DFS+ST/倍增,下面介绍离线的 Tarjan 算法: 顾名思义,就是...原创 2018-10-19 22:40:48 · 263 阅读 · 0 评论 -
HDU - 2586 How far away ?-- LCA - Tarjan 算法(无向图、带权边)
题目链接:http://hdu.hustoj.com/showproblem.php?pid=2586 题意:N 个节点,N-1 条边,任意两点之间只有唯一的一条路径。给出 M 个询问,求给出的询问中两点间的距离 思路:求 B、C 两点间的距离,设 A 点为 B、C 两点的最近公共祖先,D 为任意一点,则有 |BC| = |BD| + |CD| - 2*|AD|。所以此题用 LCA - tar...原创 2018-10-19 22:50:31 · 170 阅读 · 0 评论