#P10799. 「CZOI-R1」三角形与树
「CZOI-R1」三角形与树
题目背景
CaiZi 讨厌三角形,但是他喜欢树。
2024.8.15 Update:增加了一组 hack 数据。
题目描述
给定一颗有 个点的树,节点编号为 ,每个点有点权,开始时点 的点权为 。共有 次操作。
- 将点 到点 的简单路径上的点的点权异或 。
- 判断能否在点 到点 的简单路径上选 个不同点,并以这 个点的点权为边长构成三角形。特别的,如果无法选出 个点,也视为不能构成三角形。
点 到点 的简单路径:点 到点 不重复走过任何一条边的路径。其上的所有点为这条路径上所有的点,包括点 和点 。
保证任何时刻不会有任何一个点的点权为 。
输入格式
第一行输入 个整数 ,分别表示这棵树点的个数、操作的个数。
第二行输入 个整数 ,表示开始时点 的点权。
接下来 行,每行输入 个整数 ,表示这棵树的一条边。
接下来 行,每行先输入 个整数 ,表示操作类型。
- 若 ,则再输入 个整数 ,表示一次修改操作。
- 若 ,则再输入 个整数 ,表示一次询问操作。
输出格式
对于每次询问操作,若能满足条件输出 ,否则输出 ,无需空格或换行。
5 5
1 2 3 4 5
1 2
1 3
2 4
2 5
2 1 2
2 3 4
1 3 5 4
2 2 3
2 1 5
0110
提示
【样例解释】
第 次操作时简单路径上的点权少于 个。
第 次操作时简单路径上的点权分别为 。
第 次操作后点 的点权分别为 。
第 次操作时简单路径上的点权分别为 。
第 次操作时简单路径上的点权分别为 。
【数据范围】
本题采用捆绑测试。
- Subtask #1():。
- Subtask #2():保证这棵树是一朵菊花。
- Subtask #3():每次修改操作时 。
- Subtask #4():保证这棵树是一条链。
- Subtask #5():无特殊性质。依赖 Subtask #1 到 Subtask #4。
对于 的数据,,,,。