#P5619. [DBOI2019] 持矢
[DBOI2019] 持矢
题目背景
吾射不亦精乎?
——doby
题目描述
是一个弓箭手,他很喜欢拿箭。
这天,他来到一个射箭场,发现射箭场老板放好了个靶子(从标号),中间画了条线,使得这格靶子和条线组成了一个根为的树。每个靶子上都有分数。
他为了历练自己,选择了一个点(称为父点),然后对它子树(包括它)的每个靶子射一次,每个靶子射中概率为。每次射完一个子树,他获得的总分为射中的所有靶子的分数之积。
现在他想知道,选择不同的点作为父点,他期望总分为多少?由于总分可能很大,你需要把结果对(质数)取模。
输入格式
输入两个正整数,靶子总数和询问次数。
接下来一行,个正整数,表示编号为的靶子的分数。
接下来行,每行两个数,描述树的一条无向边。
接下来行,每行一个正整数,表示询问以靶子为父节点时,期望获得的总分。
输出格式
输出一行,一个正整数。
为了减少输出,定义为对于每组询问,期望获得的总分之和。由于是期望,需要你在计算时,将其改为。你需要把输出也对取模。
2 1
1 2
2 1
1
14445614
5 3
4 4 3 4 5
1 2
3 2
2 4
5 4
3
2
1
16251447
提示
注意:由于模数较大,请注意求逆元时中间结果的溢出。
如果你不需要卡常,使用快速幂求逆元就够用了。
【样例#说明】
答案为,可能的总分有,,。
【样例#说明】
答案分别为、、,即、、。
#(分):
。
#(分):
。
#(分):
。
所有测试点的时间限制统一为,内存限制统一为。