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 自动生成**