#P9665. [ICPC 2021 Macao R] Colorful Tree
[ICPC 2021 Macao R] Colorful Tree
Description
你的任务是维护一棵有色树并处理查询。
一开始,树上只有一个编号为 的顶点,颜色为 。然后按顺序进行 个操作,有两种类型:
- :向树中添加一个颜色为 的新顶点,其编号为 ,其中 是当前存在的顶点数。同时,添加一条连接顶点 和 的长度为 的边。
- :将顶点 的颜色更改为 。
在每次操作之后,你应该找到当前树中颜色 的两个顶点 和 (),使得它们之间的距离尽可能大。
两个顶点 和 之间的距离是树上从 到 的最短路径的长度。
Input Format
存在多个测试用例。输入的第一行包含一个整数 ,表示测试用例的数量。对于每个测试用例:
输入的第一行包含两个整数 和 (,),表示操作的数量和顶点 的初始颜色。
接下来的 行中,每行描述一个按顺序进行的操作,包含 或 个整数。
- 如果第 行包含 个整数 、、 和 (,,),则第 个操作将向树中添加一个颜色为 的新顶点 ,并将其与顶点 连接,边的长度为 。
- 如果第 行包含 个整数 、 和 (,),则第 个操作将顶点 的颜色更改为 。
保证所有测试用例中 的总和不超过 。
Output Format
对于每个操作,输出两个不同颜色顶点之间的最大距离。如果不存在有效的顶点对,则输出 。
翻译来自于:ChatGPT
2
1 1
0 1 1 1
5 1
0 1 1 1
0 1 2 1
0 3 3 1
1 4 1
1 3 1
0
0
2
3
2
0
京公网安备 11011102002149号