由乃不太会打扑克,所以她出了一个数据结构题。
给一个 个点树,第 个点的点权为 , 次操作, 每次求一些树链的并的贡献,强制在线。
贡献定义:
定义权值集合为这些树链的并里面出现过的所有点权的集合。
权值集合中每一段连续出现的数的贡献为这一段长度的k次方。
例如出现了 这些数, 的时候贡献为 ,因为 是连续一段, 为连续一段。
每次询问给出 条树链,以及一个 ,贡献对 取模。
一行两个整数 。 接下来一行 个整数, 第 个整数表示 。 接下来 行每行两个数 , 用来描述树上的一条边。 接下来 行, 每行首先给出一个数 , 接下来 个数, 读入的这 个数需要异或上一次询问的答案解密得到,初始答案为 , 得到的第 以及 个数表示第 条链的起点以及终点, 最后一个数 。
对于每个询问输出一个数表示答案。
8 2 1 9 2 6 0 8 1 7 1 2 2 3 3 4 4 5 5 6 6 7 7 8 2 1 4 5 8 3 1 90 90 2
91 1
对于 的数据,,,, ,。
By 佚名提供