CF2039E Shohag Loves Inversions
题目描述
# Shohag Loves Inversions
给你一个数列,初始数列为 $ a = [0, 1] $ ,现在重复进行以下操作若干次:
- 将当前数组中逆序对个数k插入当前数组中任意一个位置,包括开头或者结尾。
举个例子, 如果 $ a = [4, 6, 2, 4] $ , 则逆序对个数是 $ k = 3 $ . 所以可以通过操作,得到以下数组: $ [\textbf{3}, 4, 6, 2, 4] $ , $ [4, \textbf{3}, 6, 2, 4] $ , $ [4, 6, \textbf{3}, 2, 4] $ , $ [4, 6, 2, \textbf{3}, 4] $ , 和$ [4, 6, 2, 4, \textbf{3}] $ 。
给一个整数 $ n $,求通过操作可以得到多少种长度为$ n $的不同数列,方案数对对 $ 998\,244\,353 $ 取模。
逆序对的对数就是有多少个二元组,满足 $ i < j $ 并且 $ a_i > a_j $ 。
输入格式
第一行给出一个整数$ t $ ( $ 1 \le t \le 10^4 $ ),表示有多少组数据。
每行给出一个整数 $ n $ ( $ 2 \le n \le 10^6 $ )
可以保证n的和在所有测试用例中不超过$ 10^6 $ 。
输出格式
对于每一个测试点, 输出一个整数 — 对 $ 998\,244\,353 $ 取模。
## 样例 #1
### 样例输入 #1
```
4
4
2
7
69
```
### 样例输出 #1
```
5
1
682
325188814
```
说明/提示
对于第一个样例, 以下$ 5 $种数列可以通过操作得到
- $ [0, 1] \rightarrow [0, \textbf{0}, 1] \rightarrow [0, 0, 1, \textbf{0}] $ ,
- $ [0, 1] \rightarrow [0, \textbf{0}, 1] \rightarrow [0, 0, \textbf{0}, 1] $ ,
- $ [0, 1] \rightarrow [0, 1, \textbf{0}] \rightarrow [0, 1, 0, \textbf{1}] $ ,
- $ [0, 1] \rightarrow [0, 1, \textbf{0}] \rightarrow [0, 1, \textbf{1}, 0] $ ,
- $ [0, 1] \rightarrow [0, 1, \textbf{0}] \rightarrow [\textbf{1}, 0, 1, 0] $ .