#P6798. 「StOI-2」简单的树

「StOI-2」简单的树

题目描述

给定一棵以 11 为根,由 nn 个点组成的有根树,每个点有点权 cic_{i}

定义每个点的 valval 值为:以它为根的子树内所有 cic_{i} 的最大值。

定义函数 f(x,y)f(x,y) 表示将 cxc_{x} 改为 yy 后整棵树的 valval 值之和。

现在请您回答 qq 组询问,每次询问给定 33 个量 (l,r,a)(l,r,a) ,请求出 i=lrf(a,i)\sum\limits_{i=l}^{r}{f(a,i)}998,244,353998,244,353 取模的结果。

输入格式

本题强制在线

第一行三个正整数,nnqqoptopt,分别表示树的点数、询问数和控制强制在线的量。

第二行 nn 个正整数,表示每个点的点权。

接下来 n1n-1 行,每行两个正整数 uiu_{i}viv_{i},表示树的每一条边。

接下来 qq 行,每行三个正整数 l,r,al',r',a' ,请计算出真实的 l,r,al,r,a 后完成询问。

  • l=((l+opt×lastans)modn)l = (( l' + opt \times lastans )\bmod n ) +1+ 1
  • r=((r+opt×lastans)modn)r = (( r' + opt \times lastans )\bmod n ) +1+ 1
  • a=((a+opt×lastans)modn)a = (( a' + opt \times lastans )\bmod n ) +1+ 1

其中 lastanslastans 表示上一组询问的答案,初始为 00

如果此时出现 l>rl > r 的情况,请交换 llrr

输出格式

对于每组询问,输出最终的答案。

5 3 0
5 3 4 2 1
1 2
1 3
2 4
2 5
1 3 5
2 4 1
1 3 4
42
48
52

提示

样例解释

真实的 (l,r,a)(l,r,a) 为:

  • (2,4,1)(2,4,1)
  • (3,5,2)(3,5,2)
  • (2,4,5)(2,4,5)

数据范围

对于 10%10\% 的数据:1n,q1001 \leq n,q \leq 100
对于 20%20\% 的数据:1n,q30001 \leq n,q \leq 3000
对于另 20%20\% 的数据:1l,r,ci21 \leq l',r',c_{i} \leq 2
对于另 20%20\% 的数据:l=rl'=r'
对于前 80%80\% 的数据:opt=0opt=0
对于 100%100\% 的数据:$1 \leq n,q \leq 5 \times 10^{5} ,1 \leq c_{i} , a' , l' , r' \leq n$ 。