#P13294. [2025年队测]树上集合合并

[2025年队测]树上集合合并

题目

众所周知,在中国里程碑式的结论是:n=106n=10^6 时,O(n2)O(n^2) 的算法也能轻松通过一道题。(玩笑话)

给定一棵有 nn 个顶点、n1n-1 条边的树,边依次记为 (u1,v1),(u2,v2),,(un1,vn1)(u_1,v_1),(u_2,v_2),\ldots,(u_{n-1},v_{n-1})
对每个顶点 uu,我们都有一个集合 SuS_u,且初始时 Su={u}S_u=\{\,u\,\}

有两种操作:

  • 1 u:输出有多少个集合 Sv (1vn)S_v\ (1\le v\le n) 包含元素 uu

  • 2 p:取第 pp 条边 (up,vp)(u_p,v_p),将 SupS_{u_p}SvpS_{v_p} 做并集,并把并集赋值给二者:

    $$S_{u_p}\leftarrow S_{u_p}\cup S_{v_p},\qquad S_{v_p}\leftarrow S_{u_p}\cup S_{v_p}.$$

你需要依次执行 mm 次操作。对每个第一类操作输出答案。


输入

  • 第一行两个整数 $n,m\ (2\le n\le 2\times 10^5,\ 1\le m\le 6\times 10^5)$。
  • 接下来 n1n-1 行,每行两个整数 ui,viu_i,v_i,表示树的一条边(1ui,vin1\le u_i,v_i\le n)。
  • 接下来 mm 行,每行两个整数 t,wt,w,描述一次操作(1t2, 1wn+1t1\le t\le 2,\ 1\le w\le n+1-t):
    • t=1t=1,代表操作 1 w(此时 ww 为顶点编号,1wn1\le w\le n);
    • t=2t=2,代表操作 2 w(此时 ww 为边的编号,1wn11\le w\le n-1,对应边 (uw,vw)(u_w,v_w))。

输出

对每个第一类操作 1 u,输出一个整数作为答案,每个答案一行。


样例

输入

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

输出

5
2
3
4
5
子任务 数据规模 (n, m) 分值
子任务 1 n103, m103n \le 10^3,\ m \le 10^3n103, m103n \le 10^3,\ m \le 10^3 10
子任务 2 n3×104, m3×104n \le 3\times 10^4,\ m \le 3 \times 10^4 20
子任务 3 有且只有最后十项操作是1, 其他全是操作22 30
子任务 4 n=2×105,;m=6×105n=2\times10^5,; m=6\times10^5 40