#P9195. 最近公共祖先(Lowest Common Ancestor)

最近公共祖先(Lowest Common Ancestor)

最近公共祖先(Lowest Common Ancestor)

问题描述

给定一棵含 N N 个顶点的有根树,根节点为顶点 0 0 ;顶点 i i i1 i \ge 1 )的父节点为 pi p_i
请按顺序处理以下 Q Q 个查询:

  • u v:输出顶点 u u v v 的最近公共祖先(LCA)。

约束条件

  • 2N5×105 2 \leq N \leq 5 \times 10^5
  • 1Q5×105 1 \leq Q \leq 5 \times 10^5
  • 0pi<i 0 \leq p_i < i
  • 0u<vN1 0 \leq u < v \leq N-1

输入格式

N QN\ Q
p1 p2  pN1p_1\ p_2\ \cdots\ p_{N-1}
u0 v0u_0\ v_0
u1 v1u_1\ v_1
:
uQ1 vQ1u_{Q-1}\ v_{Q-1}

5 5
0 0 2 2
0 1
0 4
1 2
2 3
3 4
0
0
0
2
2