目录
题目大意:
给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。
输入格式:
第一行包含三个正整数 N,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。
接下来 N−1 行每行包含两个正整数 x,y,表示 x 结点和 y 结点之间有一条直接连接的边(数据保证可以构成树)。
接下来 M 行每行包含两个正整数 a,b,表示询问 a 结点和 b 结点的最近公共祖先。
输出格式:
输出包含 M 行,每行包含一个正整数,依次为每一个询问的结果。
说明/提示:
对于 30%的数据,N≤10,M≤10M≤10。
对于 70%70% 的数据,N≤10000,M≤10000。
对于 100%100% 的数据,1≤N,M≤500000,1≤x,y,a,b≤N,不保证 a≠b。
基础代码:
思路:
1. 用邻接链表存储。
2. 用邻接链表为每个节点生成父亲节点和深度的信息。
&nb