Tree---LCA
Feynman1999
理论都是灰色的,而生活之树常青^_^
展开
-
洛谷3379(LCA模板优化)
problem题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入格式:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。输出格式:输出包含M行,每行包含一个正整数,依次原创 2017-08-12 14:00:47 · 449 阅读 · 0 评论 -
最近公共祖先(LCA)之树上倍增法
最近公共祖先对于有根树T的两个结点u,v,最近公共祖先LCA(T,u,v)表示一个节点x,满足x是u,v的祖先并且x的深度尽可能大。 也可以把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上森度最小的点所以,LCA主要就是求解当两个点仅有唯一一条确定的最短路径时的路径信息的问题。树上倍增如果我们直接一个一个结点遍历去寻找这样的祖先,复杂度是O(n)的。而在算法竞赛中,经常会有个数较原创 2017-08-12 13:28:04 · 796 阅读 · 0 评论 -
17AHU排位赛2 A题(最小生成树、LCA维护树上路径)
problem有一个n个点m条边的连通无向图(无重边、无自环),点的编号为1~n。每条边都有一个正的边权,并且每条边边权互不相同(即数据保证该图的最小生成树唯一)。 如果只是求最小生成树,那么Ohyee觉得太简单了,于是他决定考考你。 对于每条边(u,v)都进行询问: ——如果该边在最小生成树上,那么输出“Ohyee”; ——如果该边不在最小生成树上,那么输出最小生成树上u,v两点路径中边权原创 2017-08-24 23:10:14 · 445 阅读 · 0 评论