SP8791 DYNALCA - Dynamic LCA
题目描述
有一个森林最初由 $n$ 个互不相连的点构成。
你需要处理以下操作:
- **link A B**:添加从顶点 $A$ 到 $B$ 的边,使 $A$ 成为 $B$ 的子节点,$B$ 成为这棵树的根,其中保证 $A$ 是一棵树的根,$A$ 和 $B$ 在不同的树中。
- **cut A**:切断点 $A$ 到其父节点的边,保证 $A$ 是一个非根节点。
- **lca A B**:输出 $A$ 和 $B$ 的最近共同祖先,保证 $A$ 和 $B$ 在同一棵树中。
输入格式
第一行两个正整数 $n,m$。
接下来 $m$ 行每行一个操作。
输出格式
对每个 **lca** 操作输出一行一个整数表示答案。
说明/提示
$1\le n,m\le 10^5$。