编程题
### 问题描述 有 $n$ 名选手正在进行一项比赛,开始时,他们各自是一个队伍,总共有 $n$ 个队伍。比赛一共进行 $n-1$ 轮,每轮的规则如下: - 第 $i$ 轮裁判会选择两只不同队伍的队员 $p_i,q_i$ 进行比赛,而 $p_i,q_i$ 都会和他们当前所在队伍的队友一起进行比赛。 - 假设选手 $p_i$ 所在队伍人数为 $a_i$ ,选手 $q_i$ 所在队伍人数为 $b_i$ ,则选手 $p_i$ 所在队伍获胜的概率为 $\frac{a_i}{a_i+b_i}$ ,选手 $q_i$ 所在队伍获胜的概率为 $\frac{b_i}{a_i+b_i}$ 。 - 该轮结束后,这两个队伍会合并成为一个队伍。 可以证明,在 $n-1$ 轮比赛结束后,场上只剩一个队伍。但是在比赛开始前,裁判给定每轮比赛的选手,每个选手都想知道自己获胜场数的期望是多少,他们每个人都不喜欢分数,所以请把答案对 $998244353$ 取模,你能告诉他们吗? ### 输入格式 第一行一个数字 $n$ 表示选手总人数。 接下来 $n-1$ 行,每行两个数字 $p_i,q_i$ 表示该轮进行比赛的选手。 ### 输出格式 输出 $n$ 行,第 $i$ 行一个数字表示选手 $i$ 获胜的期望场次。令 $M=998244353$ ,可以证明所求期望可以写成既约分数 $\dfrac{p}{q}$ 的形式,其中 $p,q$ 均为整数且 $q\not\equiv 0 (mod \ M)$。输出的整数应当是 $p·q^{-1}(mod\ M)$ 。 ### 样例输入 ```text 5 1 2 4 3 5 3 1 4 ``` ### 样例输出 ```text 698771048 698771048 964969543 964969543 133099248 ``` ### 说明 将由 $k$ 名选手组成的队伍表示为 $(x_1,x_2,\dots,x_k)$ 。 - 第一轮比赛的两支队伍分别为 $(1),(2)$ ,获胜概率分别为 $\frac{1}{2},\frac{1}{2}$ 。 - 第二轮比赛的两支队伍分别为 $(4),(3)$ ,获胜概率分别为 $\frac{1}{2},\frac{1}{2}$ 。 - 第三轮比赛的两支队伍分别为 $(5),(3,4)$ ,获胜概率分别为 $\frac{1}{3},\frac{2}{3}$ 。 - 第四轮比赛的两支队伍分别为 $(1,2),(3,4,5)$ ,获胜概率分别为 $\frac{2}{5},\frac{3}{5}$ 。 比赛结束后,五名选手获胜期望场次分别为 $\frac{9}{10},\frac{9}{10},\frac{53}{30},\frac{53}{30},\frac{14}{15}$ 。 ### 评测数据规模 对于 $100$% 的评测数据, $1\leq n\leq 2\times10^5$ ,保证 $p_i,q_i$ 分别属于两个不同的队伍。
查看答案
赣ICP备20007335号-2