luogu#P7826. 「RdOI R3」RBT
「RdOI R3」RBT
题目描述
你有一棵以 为根,编号为 的有根树,第 号节点上有一个整数权值 。同时每一个点都被染上了红色或蓝色。初始所有点全是红色点。你需要维护这棵树,进行 次操作。操作分若干种,具体格式如下:
1 x v
:使 节点的子树中的每个节点的权值增加 并对 取模。2 x v
:将 赋值为 。注意不是赋值整棵子树。3 x
:将 号点染成蓝色,设 节点为 号节点在它的红色兄弟节点中编号(不是权值)排名的前驱,将 节点连接父亲的边删除。然后将 节点作为儿子节点接到 节点上,如果 节点没有红色兄弟节点或 节点的红色兄弟节点的编号均比 大则什么都不做。4 x
:设 为 的子树中的节点的权值中出现次数为奇数的数组成的集合。输出集合中的每个数的 次方之和,对 取模。即 。
特别的,数据保证每个点只能被执行 操作至多 次。也就是说不会出现对一个蓝色点进行 操作的情况。
输入格式
第一行四个整数 。
第二行 个整数,代表初始的 。
接下来 行,每行两个整数 。表示一条连接 的双向树边。
接下来 行,每行两个或三个整数 。
输出格式
对于每个询问操作,输出一行一个整数表示答案。
10 10 500 1
3 2 1 2 1 3 2 1 3 4
1 4
7 8
3 6
8 10
2 3
2 5
8 9
7 2
2 1
4 1
1 3 1
2 1 2
4 1
4 3
4 6
1 4 1
3 7
1 5 1
4 5
10
5
6
4
12
提示
样例解释
样例 #1
- 询问
4 1
,子树中点的权值分别为 , 集合为 ,故答案为 。 - 修改
1 3 1
,树中各点权值变为 。 - 修改
2 1 2
,树中各点权值变为 。 - 询问
4 1
,子树中点的权值分别为 , 集合为 ,故答案为 。 - 询问
4 3
,子树中点的编号为 ,权值分别为 , 集合为 ,故答案为 。 - 询问
4 6
,由于这是一个叶子节点,子树中点的权值为它本身的权值 , 集合为 ,故答案为 。 - 修改
1 4 1
,树中各点权值变为 。 - 修改
3 7
,将 涂成蓝色,删除树中的边 ,并将 作为儿子节点接到 上。 - 修改
1 5 1
,树中各点权值变为 。 - 询问
4 5
,子树中各点编号为 ,权值分别为 , 集合为 ,故答案为 。
数据范围
本题采用捆绑测试。
对于所有数据,,,,,。
subtask | 分值 | 特殊限制 |
---|---|---|
和初始树的形态均等概率随机生成 | ||
无 |