AT_arc188_d [ARC188D] Mirror and Order

题目描述

你需要构造 $N$ 个长度为 3 的数列,需要满足这些条件: - 对于每个 $k=1,2,3$,所有数列的第 $k$ 项中,从 $1$ 到 $N$ 的整数恰好出现一次。 在这些数列的集合中,我们定义两个数列 $a=(a_1,a_2,\ldots,a_N)$ 和 $b=(b_1,b_2,\ldots,b_N)$,其定义方式如下: - 设第 $i$ 个数列为 $s_i$,其逆序数列为 $t_i$。当所有的 $s_i$ 和 $t_i$ 按字典序排列时,$s_i$ 排第 $a_i$,$t_i$ 排第 $b_i$。 - 如果在这些 $2N$ 个数列中出现两个或更多完全相同的数列,则 $a$ 和 $b$ 无法定义。 因此,当 $a$ 和 $b$ 能被定义时,它们融合成的数列从 $1$ 到 $2N$ 的整数恰好出现一次。 给定一个长度为 $N$ 的数列 $A$ 和 $B$,其中 $A$ 的每个元素都是 $1$ 到 $2N$ 之间的整数,而 $B$ 的每个元素或是 $1$ 到 $2N$ 之间的整数或是 $-1$。此外,合并 $A$ 和 $B$ 后,除了 $-1$ 之外的整数最多只出现一次。 请计算满足以下条件的数列 $a, b$ 的数量: - $a_i = A_i$ - 如果 $B_i \neq -1$,则 $b_i = B_i$ 最后,请将答案对 $998244353$ 取模后的结果输出。

输入格式

输入形式如下: > $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$

输出格式

输出答案对 $998244353$ 取模的结果。

说明/提示

- $2 \leq N \leq 3000$ - $1 \leq A_i \leq 2N$ - $1 \leq B_i \leq 2N$ 或 $B_i = -1$ - 合并 $A$ 和 $B$ 后,除了 $-1$ 之外的整数最多只出现一次。具体来说: - 当 $i \neq j$ 时,$A_i \neq A_j$ - 当 $i \neq j$ 且 $B_i, B_j \neq -1$ 时,$B_i \neq B_j$ - $A_i \neq B_j$ ### 样例解释 例1: 考虑以下三个数列: 1. $(1,2,3)$ 2. $(2,1,1)$ 3. $(3,3,2)$ 将 $s_i$ 和 $t_i$ 按字典序排列后是: > $t_2=(1,1,2) < s_1=(1,2,3) < s_2=(2,1,1) < t_3=(2,3,3) < t_1=(3,2,1) < s_3=(3,3,2)$ 因此 $(a_1, a_2, a_3, b_1, b_2, b_3) = (2, 3, 6, 5, 1, 4)$。满足题目要求的数列有 $a$ 与给定 $A$ 一致,$b$ 的第二项与 $B$ 一致。 另一个例子: 数列如下时: 1. $(1,2,1)$ 2. $(2,1,3)$ 3. $(3,3,2)$ 此时 $s_1 = t_1$,所以 $a$ 和 $b$ 无法定义。 其实,唯一满足条件的数列是 $a = (2, 3, 6), b = (5, 1, 4)$。 **本翻译由 AI 自动生成**