CF1936E Yet Yet Another Permutation Problem
题目描述
给定一个长度为 $n$ 的排列 $p$。
请你计算有多少个长度为 $n$ 的排列 $q$ 满足如下条件:
- 对于每个 $1 \le i < n$,都有 $\max(q_1,\ldots,q_i) \neq \max(p_1,\ldots,p_i)$。
由于答案可能很大,请输出答案对 $998\,244\,353$ 取模的结果。
输入格式
输入包含多组测试数据。第一行包含测试用例数 $t$($1 \le t \le 10^4$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$)。
第二行包含 $n$ 个整数 $p_1, p_2, \ldots, p_n$($1 \le p_i \le n$)。保证 $p$ 是一个排列。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示答案对 $998\,244\,353$ 取模的结果。
说明/提示
在第一个测试用例中,$p = [2, 1]$。唯一满足条件的 $q$ 是 $[1, 2]$。确实,我们需要满足不等式 $q_1 \neq p_1$。只有 $q = [1, 2]$ 满足条件。
在第二个测试用例中,$p = [1, 2, 3]$。因此 $q$ 需要满足两个不等式:$q_1 \neq p_1$ 且 $\max(q_1, q_2) \neq \max(1, 2) = 2$。可以证明,只有以下 $3$ 个排列满足条件:
- $q = [2, 3, 1]$:此时 $q_1 = 2 \neq 1$ 且 $\max(q_1, q_2) = 3 \neq 2$;
- $q = [3, 1, 2]$:此时 $q_1 = 3 \neq 1$ 且 $\max(q_1, q_2) = 3 \neq 2$;
- $q = [3, 2, 1]$:此时 $q_1 = 3 \neq 1$ 且 $\max(q_1, q_2) = 3 \neq 2$。
由 ChatGPT 4.1 翻译