CF1464F.My Beautiful Madness

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵树。我们将考虑树上的简单路径。用 (a,b)(a, b) 表示从顶点 aa 到顶点 bb 的路径。定义一条路径的 dd-邻域为树上所有距离该路径上至少一个顶点不超过 dd 的顶点的集合(例如,00-邻域就是路径本身)。设 PP 为树上路径的一个多重集,初始为空。你需要维护以下操作:

  • 1 u v1\ u\ v —— 将路径 (u,v)(u, v) 加入 PP(1≤u,v≤n1 \leq u, v \leq n)。
  • 2 u v2\ u\ v —— 从 PP 中删除路径 (u,v)(u, v)(1≤u,v≤n1 \leq u, v \leq n)。注意 (u,v)(u, v) 等价于 (v,u)(v, u)。例如,若 P={(1,2),(1,2)}P = \{(1, 2), (1, 2)\},则执行操作 2 2 12\ 2\ 1 后,P={(1,2)}P = \{(1, 2)\}。
  • 3 d3\ d —— 若 PP 中所有路径的 dd-邻域的交集非空,则输出 "Yes",否则输出 "No"(0≤d≤n−10 \leq d \leq n-1)。

输入格式

第一行包含两个整数 nn 和 qq,分别表示树的顶点数和操作数(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5,2≤q≤2⋅1052 \leq q \leq 2 \cdot 10^5)。

接下来的 n−1n-1 行,每行包含两个整数 xix_i 和 yiy_i,表示第 ii 条边连接的顶点编号(1≤xi,yi≤n1 \leq x_i, y_i \leq n)。

接下来的 qq 行,每行一个操作,格式如题目描述所述。

保证:

  • 对于操作 2 u v2\ u\ v,路径 (u,v)(u, v)(或 (v,u)(v, u))一定在 PP 中存在,
  • 对于操作 3 d3\ d,P≠∅P \neq \varnothing,
  • 至少有一个三类操作。

输出格式

对于每个三类操作,输出一行答案。

输入输出样例

  • 输入#1

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

    输出#1

    Yes
  • 输入#2

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

    输出#2

    No
  • 输入#3

    10 6
    1 2
    2 3
    3 4
    4 7
    7 10
    2 5
    5 6
    6 8
    8 9
    1 9 9
    1 9 8
    1 8 5
    3 0
    3 1
    3 2

    输出#3

    No
    Yes
    Yes

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页