#P13294. [2025年队测]树上集合合并
[2025年队测]树上集合合并
题目
众所周知,在中国里程碑式的结论是:当 时, 的算法也能轻松通过一道题。(玩笑话)
给定一棵有 个顶点、 条边的树,边依次记为 。
对每个顶点 ,我们都有一个集合 ,且初始时 。
有两种操作:
-
1 u:输出有多少个集合 包含元素 。 -
$$S_{u_p}\leftarrow S_{u_p}\cup S_{v_p},\qquad S_{v_p}\leftarrow S_{u_p}\cup S_{v_p}.$$2 p:取第 条边 ,将 与 做并集,并把并集赋值给二者:
你需要依次执行 次操作。对每个第一类操作输出答案。
输入
- 第一行两个整数 $n,m\ (2\le n\le 2\times 10^5,\ 1\le m\le 6\times 10^5)$。
- 接下来 行,每行两个整数 ,表示树的一条边()。
- 接下来 行,每行两个整数 ,描述一次操作():
- 若 ,代表操作
1 w(此时 为顶点编号,); - 若 ,代表操作
2 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 | 10 | |
| 子任务 2 | 20 | |
| 子任务 3 | 有且只有最后十项操作是1, 其他全是操作 |
30 |
| 子任务 4 | 40 |