配点 : 900 点
問題文
(1,2,...,N) の順列 p1,p2,…,pN と整数 K が与えられます。
maroonくんは i=1,2,…,N−K+1 について、次の操作を順番に行います。
- pi,pi+1,…,pi+K−1 を一様ランダムにシャッフルする。
すべての操作の後の数列の転倒数の期待値を求め、mod998244353 で出力してください。
より正確には、期待値が有理数、つまりある既約分数 QP で表せること、更に $R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353$ を満たす整数 R が一意に定まることがこの問題の制約より証明できます。よって、この R を出力してください。
また、数列 a1,a2,…,aN の転倒数とは、i<j,ai>aj を満たす順序対 (i,j) の個数とします。
制約
- 2≤N≤200,000
- 2≤K≤N
- (p1,p2,…,pN) は (1,2,…,N) の並び替え
- 入力される数は全て整数である.
入力
N K
p1 p2 ... pN
出力
期待値を mod998244353 で出力せよ。
3 2
1 2 3
1
(1,2,3), (2,1,3), (1,3,2), (2,3,1) が、それぞれ 41 の確率で最終的な数列になります。
これらの転倒数は 0,1,1,2 なので、期待値は 1 です。
10 3
1 8 4 9 2 3 7 10 5 6
164091855