#P12671. [集训队互测2025day8]皮鞋的多项式

[集训队互测2025day8]皮鞋的多项式

皮鞋有一颗 nn 个节点的有根树,其中 11 号节点为根节点。

皮鞋很喜欢多项式,所以他在每个节点上都写了一个多项式。

有一天钥匙看到了皮鞋的这棵树。对于一个节点 xx,钥匙定义 F(x)F(x)xx 子树内所有节点上多项式的乘积。现在钥匙给了你 qq 个询问,每个询问形如 x l rx\ l\ r,你需要告诉钥匙 (i=lr[xi]F(x))mod998244353\left(\sum_{i=l}^r[x^i]F(x)\right)\bmod 998244353 的值。

由于钥匙急切地想知道答案,所以询问强制在线。

输入格式

第一行两个正整数 n,qn, q 表示树的节点数与询问个数。

接下来 nn 行,第 ii 行的第一个整数 ki1k_{i-1} 表示 i1i-1 号节点的多项式次数。接下来 ki1+1k_{i-1}+1 个数 ai1,0ai1,ki1a_{i-1,0} \sim a_{i-1,k_{i-1}} 以此表示这个多项式第 0ki10 \sim k_{i-1} 次项的系数。

接下来 n1n-1 行每行两个正整数 u,vu, v 表示树上的一条边。

接下来 qq 行每行 33 个整数 x,l,rx', l', r' 表示一组询问。真实的询问 $x=x' \operatorname{xor} \operatorname{lastans}, l=l' \operatorname{xor} \operatorname{lastans}, r=r' \operatorname{xor} \operatorname{lastans}$,其中 lastans\operatorname{lastans} 为上一组询问的答案,若没有上一组询问则 lastans\operatorname{lastans}00

输出格式

输出 qq 行,表示每组询问的答案。

样例 1

样例 1 输入

3 6
1 1 1 
1 1 1 
1 1 1 
1 2
2 3
1 0 3
10 9 10
0 3 0
3 3 3
1 1 1
2 2 2

样例 1 输出

8
3
2
3
1
0

样例 1 解释

解密后的输入为:

3 6
1 1 1
1 1 1
1 1 1
1 2
2 3
1 0 3
2 1 2
3 0 3
1 1 1
2 2 2
3 3 3

其中 F(3)=1+x,F(2)=1+2x+x2,F(1)=1+3x+3x2+x3F(3)=1+x, F(2)=1+2x+x^2, F(1)=1+3x+3x^2+x^3

数据范围

对于 100%100\% 的数据,满足 $1 \leq n \leq 10^5, 0 \leq k_i, \sum k_i \leq 10^5, 1 \leq q \leq 2 \times 10^5, 1 \leq u,v,x \leq n, 0 \leq l \leq r \leq \sum k_i, 0 \leq a_{i,j} \leq 998244352$。

子任务

子任务编号特殊性质分值
1$n, \sum k_i \leq 2000$7
2$\sum k_i=0$3
3$x=1$20
4$n,q \leq 5 \times 10^4, k_i=1$20
5$n,q,\sum k_i \leq 2 \times 10^4$20
6无特殊限制30