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$ 中的元素互不相同 - 输入的所有值均为整数