题目描述
(1, 2, ..., N) の順列 p1, p2, …, pN と整数 K が与えられます。 maroonくんは i = 1, 2, …, N − K + 1 について、次の操作を順番に行います。
- pi, pi + 1, …, pi + K − 1 を一様ランダムにシャッフルする。
すべての操作の後の数列の転倒数の期待値を求め、mod 998244353 で出力してください。
より正確には、期待値が有理数、つまりある既約分数 QP で表せること、更に $ R\ \times\ Q\ \equiv\ P\ \pmod{998244353},\ 0\ \leq\ R\ <\ 998244353 $ を満たす整数 R が一意に定まることがこの問題の制約より証明できます。よって、この R を出力してください。
また、数列 a1, a2, …, aN の転倒数とは、i < j, ai > aj を満たす順序対 (i, j) の個数とします。
输入格式
N K p1 p2 ... pN
输出格式
期待値を mod 998244353 で出力せよ。
题目大意
给定一个排列 p1...n 和一个整数 K,进行如下操作 n−K+1 次:
第 i 次操作时,随机打乱 pi,pi+1,pi+2,⋯,pi+K−1 这些数字。
求操作完成后序列逆序对数的期望,对 998244353 取模。
By _Arahc_
3 2
1 2 3
1
10 3
1 8 4 9 2 3 7 10 5 6
164091855
提示
制約
- 2 ≤ N ≤ 200,000
- 2 ≤ K ≤ N
- (p1, p2, …, pN) は (1, 2, …, N) の並び替え
- 入力される数は全て整数である.
Sample Explanation 1
(1, 2, 3), (2, 1, 3), (1, 3, 2), (2, 3, 1) が、それぞれ 41 の確率で最終的な数列になります。 これらの転倒数は 0, 1, 1, 2 なので、期待値は 1 です。