To begin with,what is 'LAC'
就是说,在一棵树中,照亮个节点的最近路线
先来一个模板题
题目描述
给定一棵n个点的树,Q个询问,每次询问点x到点y两点之间的距离。
输入格式:
第一行一个正整数n,表示这棵树有n个节点;
接下来n−1行,每行两个整数x,y,表示 x,y之间有一条连边; 然后一个整数Q,表示有Q个询问;
接下来Q行,每行两个整数x,y表示询问x到y的距离。
输出格式:
输出Q行,每行表示每个询问的答案。
假如用最短路径算法大家都清楚,慢得~~
再补充一个数据范围
1≤n,m,Q≤10^5 ;1≤x,y≤n。
就更不行了
所以,我们需要一个更有效的算法
两个点的距离无非就是
这两个点的深度和减去他们的公共祖先的深度*2
interesting...
不妨看看代码