最近公共祖先
提交数: 110, 通过率: 29.09%, 平均分: 48
题目描述:
编写一个程序,查找一棵含有 n 个节点的树中 m 组两个不同节点的最近公共祖先。
输入格式:
第一行两个整数 n 和 q,为树上节点的数目和查询数。节点标号为整数 1,2,…,n。
之后 n−1 行每一行包含一对整数,代表边——第一个整数是第二个整数的父节点。请注意,一个具有 n 个节点的树有 n−1 条边。
之后 q 行查询,每行两个整数,表示要查询的两个节点的标号。(输入保证有且只有一棵树)
输出格式:
q 行,每行一个整数,为此次查询的最近公共祖先的标号。
样例输入:
5 6 2 5 2 3 5 1 1 4 1 3 2 3 5 4 1 5 4 5 5 4
样例输出:
2 2 5 5 5 5
提示:
2≤n,m≤5⋅105
时间限制: 2000ms空间限制: 256MB