AT_agc054_e [AGC054E] ZigZag Break

题目描述

给定整数 $N,A$。请计算满足以下条件的 $(1,2,\cdots,N)$ 的排列 $P=(P_1,P_2,\cdots,P_N)$ 的个数,并将结果对 $998244353$ 取模。 - $P_1=A$。 - 通过重复以下操作,可以将 $P$ 的元素个数变为 $2$: - 选择 $3$ 个**连续的**元素 $x,y,z$。此时,要求 $y\max(x,z)$ 成立。然后,将 $y$ 从 $P$ 中删除。 对于每个输入文件中的 $T$ 个测试用例,请输出答案。

输入格式

输入以以下格式从标准输入给出。 > $T$ > $case_1$ > $case_2$ > $\vdots$ > $case_T$ 每个测试用例的格式如下: > $N\ A$

输出格式

对于每个测试用例,输出一行答案。

说明/提示

### 限制条件 - $1\leq T\leq 5\times 10^5$ - $3\leq N\leq 10^6$ - $1\leq A\leq N$ - 输入的所有值均为整数 ### 样例解释 1 例如,当 $N=4,A=2$ 时,$P=(2,1,4,3)$ 满足条件。以下是操作的一个例子: - 选择 $(x,y,z)=(2,1,4)$,删除 $1$,$P$ 变为 $(2,4,3)$。 - 选择 $(x,y,z)=(2,4,3)$,删除 $4$,$P$ 变为 $(2,3)$。 由 ChatGPT 4.1 翻译