atcoder#ARC133F. [ARC133F] Random Transition

[ARC133F] Random Transition

题目描述

整数 N N が与えられます.

すぬけくんはこれから,以下の操作を行います.

  • 変数 x x を用意し,ランダムに選んだ 0 0 以上 N N 以下の整数で初期化する.各 0  i  N 0\ \leq\ i\ \leq\ N に対し,x=i x=i と初期化する確率は Ai/109 A_i/10^9 である.
  • 次の操作を K K 回繰り返す.
    • 確率 x/N x/N x x の値を 1 1 減らし,確率 1x/N 1-x/N x x の値を 1 1 増やす. (ここで,操作後も x x の値が必ず 0 0 以上 N N 以下であることに注意)

i=0,1,,N i=0,1,\cdots,N について,すべての操作が終了したあとに x=i x=i である確率を (mod998244353) \pmod{998244353} で求めてください.

確率 (mod998244353) \pmod{998244353} の定義 求める確率は必ず有理数になることが証明できます。 また、この問題の制約のもとでは、その値を既約分数 PQ \frac{P}{Q} で表した時、Q  0 (mod998244353) Q\ \neq\ 0\ \pmod{998244353} となることも証明できます。 よって、$ R\ \times\ Q\ \equiv\ P\ \pmod{998244353},\ 0\ \leq\ R\ &lt\ 998244353 $ を満たす整数 R R が一意に定まります。 この R R を答えてください。

输入格式

入力は以下の形式で標準入力から与えられる.

N N K K A0 A_0 A1 A_1 \cdots AN A_N

输出格式

i=0,1,,N i=0,1,\cdots,N について,すべての操作が終了したあとに x=i x=i である確率を (mod998244353) \pmod{998244353} で出力せよ.

题目大意

给定整数 n,kn, k 和一个序列 aa

Snuke 会进行如下的操作:

  • 随机地取一个 [0,n][0, n] 内的整数 xx。对每个 0in0\le i \le nx=ix = i 的概率为 ai/109a_i / 10^9
  • 进行如下操作 kk 次:
    • x/nx / n 的概率将 xx11;以 1x/n1 - x / n 的概率将 xx11。注意 x[0,n]x\in [0, n] 总是成立的。

对每个 0mn0\le m \le n,求出所有操作执行后 x=mx = m 的概率,对 998244353998244353 取模。

$1\le n \le 10^5, \ 0\le a_i\le 10^9, \ \sum a_i = 10^9, \ 1\le k \le 10^9$。

2 1
0 1000000000 0
499122177 0 499122177
4 2
200000000 200000000 200000000 200000000 200000000
723727156 598946612 349385524 598946612 723727156
10 100
21265166 263511538 35931763 26849698 108140810 134702248 36774526 147099145 58335759 4118743 163270604
505314898 24510700 872096939 107940764 808162829 831195162 314651262 535843032 665830283 627881537 696038713

提示

制約

  • 1  N  100000 1\ \leq\ N\ \leq\ 100000
  • 0  Ai 0\ \leq\ A_i
  • 0  i  NAi = 109 \sum_{0\ \leq\ i\ \leq\ N}A_i\ =\ 10^9
  • 1  K  109 1\ \leq\ K\ \leq\ 10^9
  • 入力される値はすべて整数である

Sample Explanation 1

最初は必ず x=1 x=1 と初期化します. その後の操作では.確率 1/2 1/2 x x の値を 1 1 減らし,確率 1/2 1/2 x x の値を 1 1 増やします. 最終的に x=0,1,2 x=0,1,2 となる確率は,それぞれ 1/2,0,1/2 1/2,0,1/2 です.