AT_arc217_b [ARC217B] Not High Element
题目描述
给定整数 $N, K$ 以及一个长度为 $K$ 的整数序列 $A=(A_1,A_2,\ldots,A_K)$。保证 $A$ 的每个元素都在 $1$ 到 $N$ 之间且互不相同。
对于 $(1,2,\ldots,N)$ 的排列 $P=(P_1,P_2,\ldots,P_N)$,定义 $f(P)$ 如下:
- 能对 $P$ 执行以下操作的最大次数。
- 选择满足 $P_i < \max(P_1,P_2,\ldots,P_{i-1})$ 的 $2\le i\le N$,将 $P_i$ 移动到开头。即,将 $P$ 替换为 $(P_i,P_1,P_2,\ldots,P_{i-1},P_{i+1},\ldots,P_N)$。
对于所有满足 $P_i=A_i\ (i=1,2,\ldots,K)$ 的 $(1,2,\ldots,N)$ 的排列 $P$(共有 $(N-K)!$ 个),求它们对应的 $f(P)$ 的总和,并对 $998244353$ 取模。
给定 $T$ 个测试用例,请对每个测试用例输出答案。
输入格式
输入以如下形式从标准输入给出:
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
每个测试用例的格式如下:
> $N$ $K$ $A_1$ $A_2$ $\ldots$ $A_K$
输出格式
对每个测试用例,输出一行答案。
说明/提示
### 样例解释 1
考虑第一个测试用例。
满足 $P_i=A_i\ (i=1,2,\ldots,K)$ 的 $(1,2,3)$ 的排列 $P$ 有两个:$P=(1,2,3)$ 和 $P=(1,3,2)$。
当 $P=(1,2,3)$ 时,无法执行任何操作,所以 $f(P)=0$。
当 $P=(1,3,2)$ 时,可以通过以下方式执行两次操作:
- 选择 $i=3$,得到 $P=(2,1,3)$。
- 选择 $i=2$,得到 $P=(1,2,3)$。
无法执行三次或更多次操作,因此此时 $f(P)=2$。
综上,所求答案为 $0+2=2$。
### 约束条件
- $1\le T\le 10^5$
- $1\le K\le N$
- 所有测试用例的 $N$ 之和不超过 $5\times 10^5$
- $1\le A_i\le N$
- $A$ 中的元素互不相同
- 输入的所有值均为整数