loj#P3628. 「2021 集训队互测」树上的孤独
「2021 集训队互测」树上的孤独
题目背景
有两棵树小 A 和小 B,小 A 发育不良,小 B 发育的很好。
为了追上小 B 的发育,小 A 开始了魔改之路。
题目描述
小 A 有 个节点,小 B 有 个节点。每一个节点都有一种颜色。小 A 和小 B 都以一号节点为根。
为了追赶小 B,小 A 进行了 次发育操作。
对于每一次操作先读入一个整数 表示操作类型。
若 ,表示一次询问,那么接下来读入四个整数 。
我们令 为上一次询问的答案,那么令 , 初始时为 。
小 A 希望你能回答出小 A 的 子树内离 距离不超过 和小 B 的 子树内离 距离不超过 的节点中一共有多少种不同的颜色。
若 ,表示小 A 对自己进行了一次魔改发育,接下来读入两个整数 表示小 A 将自己的 节点的颜色魔改为了 。
输入格式
第一行读入三个整数 。
接下来读入 行,每行两个正整数 ,表示有一条边连接小 A 的 和 。
然后读入 行,每行两个正整数 ,表示有一条边连接小 B 的 和 。
紧接着读入 行,每行一个正整数 ,第 行表示小 A 的第 号节点的颜色。
还需要读入 行,每行一个正整数 ,第 行表示小 B 的第 号节点的颜色。
最后再读入 个询问,询问格式见题目描述。
输出格式
对于每一个询问单独输出一行,每行一个整数表示答案。
5 5 5
4 3
1 3
5 4
2 3
4 2
5 4
3 2
1 3
4
1
3
5
4
1
5
1
2
3
1 2 1 1 2
1 1 5 2 2
1 4 1 2 3
1 5 4 2 2
1 4 1 1 3
2
2
2
2
3
数据范围与提示
对于全部数据,保证:
- ,,
- ,,
子任务编号 | 分值 | 特殊限制 |
---|---|---|
不存在 操作 | ||