atcoder#ACL1E. Shuffle Window

Shuffle Window

配点 : 900900

問題文

(1,2,...,N)(1, 2, ..., N) の順列 p1,p2,,pNp_1, p_2, \dots, p_N と整数 KK が与えられます。 maroonくんは i=1,2,,NK+1i = 1, 2, \dots, N - K + 1 について、次の操作を順番に行います。

  • pi,pi+1,,pi+K1p_i, p_{i + 1}, \dots, p_{i + K - 1} を一様ランダムにシャッフルする。

すべての操作の後の数列の転倒数の期待値を求め、mod998244353\bmod 998244353 で出力してください。

より正確には、期待値が有理数、つまりある既約分数 PQ\frac{P}{Q} で表せること、更に $R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353$ を満たす整数 RR が一意に定まることがこの問題の制約より証明できます。よって、この RR を出力してください。

また、数列 a1,a2,,aNa_1, a_2, \dots, a_N の転倒数とは、i<j,ai>aji < j, a_i > a_j を満たす順序対 (i,j)(i, j) の個数とします。

制約

  • 2N200,0002 \leq N \leq 200,000
  • 2KN2 \leq K \leq N
  • (p1,p2,,pN)(p_1, p_2, \dots, p_N)(1,2,,N)(1, 2, \dots, N) の並び替え
  • 入力される数は全て整数である.

入力

NN KK

p1p_1 p2p_2 ... pNp_N

出力

期待値を mod998244353\bmod 998244353 で出力せよ。

3 2
1 2 3
1

(1,2,3)(1, 2, 3), (2,1,3)(2, 1, 3), (1,3,2)(1, 3, 2), (2,3,1)(2, 3, 1) が、それぞれ 14\frac{1}{4} の確率で最終的な数列になります。 これらの転倒数は 0,1,1,20, 1, 1, 2 なので、期待値は 11 です。

10 3
1 8 4 9 2 3 7 10 5 6
164091855