AT_abc478_f [ABC478F] Min-First Search
题目描述
给定一棵由 $N$ 个顶点 $1,2,\ldots,N$ 构成的树 $T$。按照以下过程,可以得到一个 $(1,2,\ldots,N)$ 的排列 $P$,记为 $f(T)$。
* 初始时,令序列 $P$ 为空序列 $()$,集合 $S={1}$。
* 重复以下操作 $N$ 次:
* 令 $x$ 为 $S$ 中的最小值。从 $S$ 中删除 $x$,并将 $x$ 添加到 $P$ 的末尾。
* 设顶点 $x$ 在树 $T$ 中相邻的顶点为 $v_1,v_2,\ldots,v_k$。对于每个 $i=1,2,\ldots,k$,如果 $v_i$ 尚未出现在 $P$ 中,则将 $v_i$ 加入 $S$。
给定一个 $(1,2,\ldots,N)$ 的排列
$$
Q=(Q_1,Q_2,\ldots,Q_N),
$$
求满足
$$
f(T)=Q
$$
的树 $T$ 的数量,并对 $998244353$ 取模。
特别地,两棵树被认为不同,当且仅当存在某一对顶点 $(u,v)$,使得这两棵树中一棵包含边 $(u,v)$,而另一棵不包含边 $(u,v)$。
输入格式
输入从标准输入中以以下格式给出:
```text
N
Q_1 Q_2 ... Q_N
```
输出格式
输出满足 $f(T)=Q$ 的树 $T$ 的数量,对 $998244353$ 取模。
说明/提示
### 样例解释 1
例如,对于如下图所示的一棵树 $T$,有 $f(T)=Q$。

求取 $f(T)$ 的过程如下图所示:

包括这棵树在内,共有如下图所示的 $8$ 棵树满足条件。

因此答案为 `8`。
### 样例解释 2
求满足条件的树的数量,并将答案对 $998244353$ 取模。
### 数据范围
* $1\le N\le 2\times10^5$
* $1\le Q_i\le N\quad(1\le i\le N)$
* 当 $1\le i