luogu#P16451. rvtmpq
rvtmpq
题目描述
给定一棵 个点的树,每个点有两个点权 ,定义 为包含点集 的最小连通块,接下来有 次操作,每次操作形如:
- 操作一:给定 ,令 为 中所有数构成的集合,对所有 ,将 加上 。
- 操作二:给定 ,查询 的值。
- 操作三:给定 ,查询 路径上所有点的 值之和。
答案对 取模。
强制在线。
输入格式
第一行两个数 ,表示树的大小和操作次数。
第二行 个数,表示序列 。
第三行 个数,表示序列 。
接下来 行,每行两个数 ,表示树的一条边。
接下来 行,每行先输入一个数 ,若 ,则接下来输入三个数 表示操作一,若 ,则接下来输入一个数 表示操作二,若 ,则接下来输入一个数 表示操作三。
你需要将操作一中的 、操作二中的 和操作三中的 异或上上一次查询操作的答案 ,特别地,若这次操作前不存在查询操作,则 。
输出格式
对于每个操作二和操作三,输出一行表示答案对 取模后的结果。
4 5
2 3 4 5
5 3 2 1
3 1
3 2
2 4
2 4
1 6 1 4
2 4
1 3 6 2
3 3
5
2
2
提示
对于 的数据,$1\le n\le 8\times 10^5,1\le q\le 3\times 10^5,0\le l,r,v,x,a_i,b_i<2^{32}$。
保证 解密后满足 。
记 为 的操作数量, 为 的操作数量, 为 的操作数量,保证 。