TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P9822
  • 题目
  • P9822[CF1464F] My Beautiful Madness
    限制 : 时间限制 : - MS   空间限制 : 524288 KB
    评测说明 : 2s,512MB
    问题描述

    给定一棵 \(n\) 个节点的树。

    \((a,b)\) 表示节点节点 \(a\) 和节点 \(b\) 之间的简单路径。两个节点的距离定义为它们的简单路径的边数。一个节点和一条路径的距离定义为这个节点到路径上所有节点距离的最小值。一条路径的 \(d-\) 邻域定义为与这条路径的距离不超过 \(d\) 的所有节点。例如一条路径的 \(0-\) 邻域就是这条路径上的所有节点。

    你要维护一个由简单路径组成的可重集合 \(P\) ,支持以下操作:

    • \(1\ \ u\ \ v\) :向可重集合 \(P\) 中添加一条简单路径 \((u,v)\) 。其中 \(1\leq u,v\leq n\)
    • \(2\ \ u\ \ v\) :从可重集合 \(P\) 中删除一条简单路径 \((u,v)\) 。其中 \(1\leq u,v\leq n\) 。注意 \((u,v)=(v,y)\) ,当 \(P=\{(1,2),\ (1,2)\}\) 时如果执行删除路径 \((2,1)\) 的操作则可重集合变成 \(P=\{(1,2)\}\) 。这类操作保证在操作之前可重集合 \(P\) 中一定存在 \((u,v)\) 或者 \((v,u)\)
    • \(3\ \ d\) :查询 \(P\) 中所有路径的 \(d-\) 邻域是否非空。其中 \(0\leq d\leq n-1\) 。如果非空输出 Yes 否则输出 No 。这类操作至少有一次,且保证每次执行这类操作时 \(P\neq \varnothing\)
    输入格式

    第一行两个整数 \(n,q\) ,表示树的节点数和操作的次数。

    接下来 \(n-1\) 行,每行两个整数 \(x_i,y_i\) 表示一条边。

    接下来 \(q\) 行,每行一个操作,格式如“题目描述”中所述。

    输出格式

    每次第 \(3\) 种操作,输出一行答案。

    样例输入 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

    提示

    \(1\leq n\leq 2\times 10^5\)
    \(2\leq q\leq 2\times 10^5\)
    \(1\leq x_i,y_i \leq n\)
    \(1\leq u,v\leq n\)
    \(0\leq d\leq n-1\)
    输入的所有数都是整数

    数据nodgd造