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 翻译