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