#581. 「BJOI2018」求和
「BJOI2018」求和
题目描述
master 对树上的求和非常感兴趣。他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的 次方和,而且每次的 可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。 他把这个问题交给了 pupil,但 pupil 并不会这么复杂的操作,你能帮他解决吗?
输入格式
第一行包含一个正整数 ,表示树的节点数。
之后 行每行两个空格隔开的正整数 ,表示树上的一条连接点 和点 的边。
之后一行一个正整数 ,表示询问的数量。
之后每行三个空格隔开的正整数 ,表示询问从点 到点 的路径上所有节点深度的 次方和。由于这个结果可能非常大,输出其对 取模的结果。
树的节点从 开始标号,其中 号节点为树的根。
输出格式
对于每组数据输出一行一个正整数表示取模后的结果。
样例
样例输入
5
1 2
1 3
2 4
2 5
2
1 4 5
5 4 45
样例输出
33
503245989
样例解释
以下用 表示第 个节点的深度。
对于样例中的树,有 $d\left(1\right)=0,d\left(2\right)=1,d\left(3\right)=1,d\left(4\right)=2,d\left(5\right)=2$。
因此第一个询问答案为 ,第二个询问答案为 $\left(2^{45}+1^{45}+2^{45}\right) \bmod 998244353=503245989$。
数据范围与提示
对于 的数据,;
对于 的数据,;
对于 的数据,。