时空限制
1S/512M
题目描述
一场盛大的锦标赛正在举行,共有 2n 位选手参与,选手编号从 1 到 2n。每位选手 i 都有一个能力值 ai。
比赛采用单败淘汰制,共进行 n 轮。赛程是固定的:
- 初始轮 (第一轮):选手按编号顺序配对,即 (1 vs 2), (3 vs 4), ..., (2n−1 vs 2n)。
- 后续轮次:每一轮中,前一轮的胜者们将保持他们原来的相对顺序,再次按顺序配对比赛。例如,(1,2) 号比赛的胜者,将在下一轮对阵 (3,4) 号比赛的胜者。以此类推。
当两位选手 i 和 j 对战时,选手 i 的获胜概率为 ai+ajai,选手 j 的获胜概率则为 ai+ajaj。
你的任务是计算每位选手最终赢得锦标赛冠军的概率。你需要将结果对 998244353 取模。
由于答案可能是一个分数,设 P=998244353,一个最简分数 qp 应输出 p×qP−2modP。
格式
输入格式
第一行包含一个整数 n。
第二行包含 2n 个整数,表示 a1,a2,…,a2n。第 i 个数表示第 i 个人的能力值。
输出格式
输出一行,2n 个整数,用空格隔开。第 i 个整数表示第 i 位选手赢得冠军的概率对 998244353 取模后的结果。
样例
样例输入 #1
1
10 20
样例输出 #1
332748118 665496236
样例解释 #1
有 21=2 位选手,能力值分别为 10 和 20。
只有一轮比赛,选手 1 和选手 2 对战。
选手 1 获胜(即成为冠军)的概率是 10+2010=31。
选手 2 获胜(即成为冠军)的概率是 10+2020=32。
将这两个概率对 998244353 取模:
- 对于 31,需要计算 1⋅3998244353−2(mod998244353),结果为 332748118。
- 对于 32,需要计算 2⋅3998244353−2(mod998244353),结果为 665496236。
样例输入 #2
2
4 6 3 9
样例输出 #2
96533520 239578645 705901364 954475178
数据规模
对于 20% 的数据, 1≤n≤3。
对于 100% 的数据,满足 1≤n≤12,1≤ai≤106。