AT_arc183_e [ARC183E] Ascendant Descendant

题目描述

有一棵包含编号为 $1$ 到 $N$ 的 $N$ 个顶点的根树,根是顶点 $1$,对于每个顶点 $i$ ($2 \leq i \leq N$),其父节点是顶点 $P_i$ ($P_i < i$)。 同时,给定两个长度为 $M$ 的整数序列 $A=(A_1, A_2, \cdots, A_M)$ 和 $B=(B_1, B_2, \cdots, B_M)$,其元素均为 $1$ 到 $N$ 之间的整数。 定义序列 $A$ 是 **good** 的,当且仅当对每个 $i$,顶点 $A_i$ 是顶点 $B_i$ 的祖先,或者 $A_i = B_i$。 初始时,序列 $A$ 是 good 的。 我们考虑对序列 $A$ 进行以下操作: - 选择一个整数 $i$ ($1 \leq i \leq M-1$),交换 $A_i$ 和 $A_{i+1}$ 的值。操作后,序列 $A$ 仍必须是 good 的。 请计算,经过 $0$ 次或多次操作后,可能得到的不同序列的个数,并输出该结果对 $998244353$ 取模的值。

输入格式

输出格式

说明/提示

- $2 \leq N \leq 250000$ - $2 \leq M \leq 250000$ - $1 \leq P_i < i$ - $1 \leq A_i \leq B_i \leq N$ - 对于每个 $i$,顶点 $A_i$ 是顶点 $B_i$ 的祖先,或者 $A_i = B_i$ ### 样例解释 考虑选择 $i = 1$ 进行操作,操作后序列 $A=(2,1,1)$ 不是 good 的,因此该操作不可行。 再考虑选择 $i = 2$ 进行操作,操作后序列 $A=(1,1,2)$ 是 good 的,因此该操作可行。 可能得到的不同序列有 $A=(1,2,1)$ 和 $A=(1,1,2)$,因此答案是 $2$。 Translate by 宋怡芃