公式推导
对于给定的某个序列 $s$,且序列 $s$ 中的元素两两不等,设 $s$ 的反转序列为 $\bar{s}$. 记 $I(s)$ 为序列 $s$ 的升序对构成的集合,$D(s)$为序列 $s$ 的降序对构成的集合. 任取序列 $s$ 中的一个元素对 $(a,b)$,一定有 $(a,b)\in I(s) \lor (a,b)\in D(s)$,因此,升序对与降序对的总个数等于元素对的总个数,即 $\lvert I(s) \rvert + \lvert D(s)\rvert =\frac{n(n-1)}{2}$.
设 $(a,b)$ 是序列 $s$ 中的一个升序对,则 $(b,a)$ 一定是序列 $\bar{s}$ 中的一个降序对,反之亦然. 因此,$D(s) = I(\bar{s})$,故 $\lvert I(s) \lvert + \lvert I(\bar{s})\rvert =\frac{n(n-1)}{2}$.
设 $1-n$ 的所有全排列构成的集合为 $P$,显然 $\lvert P \rvert=n!$ 且本题的答案 $V(P)=\sum_{s\in{P}}\lvert I(s) \lvert$.
设 $\bar{P} = $ { $\bar{s} \mid s \in P$ },由于一个全排列的逆序序列仍是全排序,因此 $P=\bar{P}$,由此可知 $V(P)=V(\bar{P})=\frac{1}{2}(V(P)+V(\bar{P}))$
$=\frac{1}{2}(\sum_{s\in{P}} \lvert I(s) \rvert +\sum_{\bar{s}\in{\bar{P}}} \lvert I(\bar{s}) \rvert )=\frac{1}{2}\sum_{s\in{P}}(\lvert I(s) \rvert + \lvert I(\bar{s}) \rvert )$
$=\frac{1}{2}\sum_{s\in{P}}\frac{n(n-1)}{2}$
$=\frac{1}{4}n(n-1)n!$
Python语言描述
MOD = 998244353
INV = 748683265
n = int(input())
res = n * (n - 1) % MOD
for i in range(2, n + 1):
res = (res * i) % MOD
res = (res * INV) % MOD
print(res)