给你一个有 $n$ 个点的树,每个点包括一个位运算 $opt$ 和一个权值 $x$,位运算有&,|,^三种,分别用 $1,2,3$ 表示。
&
|
^
每次询问包含三个数 $x,y,z$,初始选定一个数 $v$。然后 $v$ 依次经过从 $x$ 到 $y$ 的所有节点,每经过一个点 $i$,$v$ 就变成 $v\ opt_i\ x_i$,所以他想问你,最后到 $y$ 时,希望得到的值尽可能大,求最大值?给定的初始值 $v$ 必须是在 $[0,z]$ 之间。
每次修改包含三个数 $x,y,z$,意思是把 $x$ 点的操作修改为 $y$,数值改为 $z$。
第一行三个数 $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$ 意义如题所述。
对于每个操作 $1$,输出到最后可以造成的最大刺激度 $v$。
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
7 1 5
对于 $30\%$ 的数据,$n$,$m \le 1$
对于另外 $20\%$ 的数据,$k \le 5$
对于另外 $20\%$ 的数据,位运算只会出现一种
对于 $100\%$ 的数据,$0 \le n , m \le 100000 , k \le 64$