CF1464F My Beautiful Madness
题目描述
给定一棵树。我们将考虑树上的简单路径。用 $(a, b)$ 表示从顶点 $a$ 到顶点 $b$ 的路径。定义一条路径的 $d$-邻域为树上所有距离该路径上至少一个顶点不超过 $d$ 的顶点的集合(例如,$0$-邻域就是路径本身)。设 $P$ 为树上路径的一个多重集,初始为空。你需要维护以下操作:
- $1\ u\ v$ —— 将路径 $(u, v)$ 加入 $P$($1 \leq u, v \leq n$)。
- $2\ u\ v$ —— 从 $P$ 中删除路径 $(u, v)$($1 \leq u, v \leq n$)。注意 $(u, v)$ 等价于 $(v, u)$。例如,若 $P = \{(1, 2), (1, 2)\}$,则执行操作 $2\ 2\ 1$ 后,$P = \{(1, 2)\}$。
- $3\ d$ —— 若 $P$ 中所有路径的 $d$-邻域的交集非空,则输出 "Yes",否则输出 "No"($0 \leq d \leq n-1$)。
输入格式
第一行包含两个整数 $n$ 和 $q$,分别表示树的顶点数和操作数($1 \leq n \leq 2 \cdot 10^5$,$2 \leq q \leq 2 \cdot 10^5$)。
接下来的 $n-1$ 行,每行包含两个整数 $x_i$ 和 $y_i$,表示第 $i$ 条边连接的顶点编号($1 \leq x_i, y_i \leq n$)。
接下来的 $q$ 行,每行一个操作,格式如题目描述所述。
保证:
- 对于操作 $2\ u\ v$,路径 $(u, v)$(或 $(v, u)$)一定在 $P$ 中存在,
- 对于操作 $3\ d$,$P \neq \varnothing$,
- 至少有一个三类操作。
输出格式
对于每个三类操作,输出一行答案。
说明/提示
由 ChatGPT 4.1 翻译