睡觉困难综合征

题目背景

Zzz……,Zzz……

问题描述

一棵 \(n\) 个节点的树,每个节点上有一个位运算操作符(与、或、异或,分别用 \(1,2,3\) 表示)和一个数字,走过一个点的时候当前值就会和这个数字做相应运算。现在给定 \(x,y,z\),要求在 \([0,z]\) 中选区一个初值使从 \(x\) 点走到 \(y\) 点的最终结果最大。支持动态修改点上的操作符与数字。

输入格式

第一行三个数 \(n,m,k\) 。\(k\) 的意义是每个点上的数,以及询问中的数值 \(z\) 都 \(<2^k\) 。

之后 \(n\) 行,每行两个数 \(x,y\) 表示该点的位运算编号以及数值

之后 \(n-1\) 行,每行两个数 \(x,y\) 表示 \(x\) 和 \(y\) 之间有边相连

之后 \(m\) 行,每行四个数,\(Q,x,y,z\) 表示这次操作为 \(Q\) ( \(1\) 为询问,\(2\) 为更改),\(x,y,z\) 意义如题所述。若为修改,给三个数 \(x,y,z\),意思是把 \(x\) 点的操作修改为 \(y\),数值改为 \(z\)

输出格式

对于每个操作 \(1\),输出到最后的最大可能结果。

样例

样例输入 1

5 5 3
1 7
2 6
3 7
3 6
3 1
1 2
2 3
3 4
1 5
1 1 4 7
1 1 3 5
2 1 1 3
2 3 3 3
1 1 3 2

样例输出 1

7
1
5

数据范围

对于 \(30\%\) 的数据,\(n,m \le 1000\)

对于另外 \(20\%\) 的数据,\(k \le 5\)

对于另外 \(20\%\) 的数据,位运算只会出现一种

对于 \(100\%\) 的数据,\(0 \le n,m \le 100000 , k \le 64\)

时空限制

\(2\mathrm s,512\mathrm{MiB}\)

信息

ID
1007
难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
1
上传者