![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCA
Dunyb
坚毅
展开
-
Borrow Classroom (LCA 倍增 )
题目连接 题意: 一个N 个节点的树 N-1条边, 1号节点是根节点,Q次询问,每次询问3个整数 A B C 3个人(3个整数代表3个人所处的位置), 要求A 在文件交到根节点前进行拦截 如果A C同时到1则算失败 数据范围 3s 最多5组样例 n q &...原创 2020-05-03 18:21:36 · 216 阅读 · 0 评论 -
洛谷 P3379 (LCA Tarjan && 倍增)
题目连接 题意: N 个点 ,N - 1条边,M 个询问每个寻问两个整数X, Y。 求 X, Y 的LCA (最近公共祖先), S点是根节点 思路: LCA模板题 LCA Tarjan AC : #include<iostream> #include<math.h> #include<stdio.h&g...原创 2020-05-03 11:33:21 · 307 阅读 · 0 评论 -
HDU-2586 (LCA Tarjan & 倍增)
题目连接 题意: 求一棵树上任意两点的最短距离,n个点,m次询问 数据范围: 2 < n < 40000, 2 < m < 200 思路:(Tarjan) LCA板子题,需要一个dis [] 数组, dis[ x ] 记录一下该点 ( x) 到父亲节点 ( find(x)) 的距离,当找到一个匹配...原创 2020-05-03 15:17:22 · 336 阅读 · 0 评论 -
LCA (最近公共祖先) Tarjan & 倍增
LCA Tarjan: 实现原理 理解:离线算法,建好树后再查询,一次DFS 吧所有查询解决完。 时间复杂度:O(n+q); n个点 q次询问 代码 /* LCA算法(最近公共祖先算法) Tarjan算法 */ #include<iostream> #include<cstring> #include<math.h> #include<...原创 2020-05-01 09:40:57 · 944 阅读 · 0 评论