#2503. 树上游走

树上游走

树上游走 (1s,512M)

小王在一棵树上随机游走。

具体来说,假设小王在点 pospos ,那么他将在下一步等概率随机选择一条一端为 pospos 的边,并走到其另一个端点。

你希望小王尽可能快的走到点 11,因此你希望通过一些手段,令其第一次到达点 11 的时间的期望尽可能短。

小王走每条边所花费的时间均为 11 。而你可以做的手段为,在小王到达某个点时,告诉小王接下来不要走若干条边。若如此做,则他下一步将在你没说的边集中等概率随机一条走过去。(你要至少要留一条边给小王选择走)

当然,你如果做上述过程也是需要花费代价的,如果你在某一时刻告诉了小王 kk 条边不能走,你又需要花费 aka_k 时间来让小王理解。( a0=0a_0=0 ,保证 aiai+1a_i\leq a_{i+1}

注意:小王的记忆力并不是很好。即使你在某一时刻在点 XX 告诉小王了一些边,小王下一次到达点 XX 时还会忘掉你之前所说的,如果还想如此做则需再花费一遍代价。

你需要对 2n2\sim n 中的每个点求出小王首次到达 11 号点的最小期望时间。

答案对 998244353998244353 取模。


输入第一行一个整数 nn 。 第二行 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n 。 接下来 n1n-1 行每行两个整数,表示树上的一条边连接的两个端点。

输出一行 n1n-1 个整数,表示对于点 2,3,,n2,3,\ldots,n 的答案。


对于所有数据,保证 n5×105,ai109n\leq 5\times 10^5, a_i\leq 10^9

测试点编号 特殊性质
1~3 ai=0a_i=0
4~6 n5n\leq 5
7~10 树为一条一端为 1 号点的链
11~14 n30000,ai=109n\leq 30000, a_i=10^9
15~17 n3000n\leq 3000
18~20 无特殊性质

样例下载

file