Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 600 点
問題文
頂点 1 を根とした N 頂点の根付き木があります。頂点には 1,2,\ldots,N の番号がついています。
根から始めて深さ優先探索を行い、行きがけ順で頂点番号を記録したところ、順に P_1,P_2,\ldots,P_N となりました。
ただし、深さ優先探索では、現在の頂点に複数の子がある場合、まだ探索していない頂点のうち最も番号が小さい頂点へ移動することとします。
行きがけ順とは
条件をみたす根付き木として考えられるものの数を 998244353 で割った余りを求めてください。
ただし、ある 2 つの「頂点 1 を根とした N 頂点の根付き木」が異なるとは、ある根以外の頂点が存在して、その親が異なる事を言います。
制約
- 2 \leq N \leq 500
- 1 \leq P_i\leq N
- P_1=1
- P_i はすべて異なる
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N P_1 P_2 \ldots P_N
出力
条件をみたす根付き木として考えられるものの数を 998244353 で割った余りを出力せよ。
入力例 1
4 1 2 4 3
出力例 1
3
条件をみたす根付き木としては次の 3 通りが考えられます。よって、 3 を出力します。
また、次のような木は考えられません。頂点 2 の子の頂点のうち、番号の小さい頂点 3 が頂点 4 より先に探索され、 このときの行きがけ順は 1,2,3,4 となるからです。
入力例 2
8 1 2 3 5 6 7 8 4
出力例 2
202
Score : 600 points
Problem Statement
There is a rooted tree with N vertices called Vertex 1, 2, \ldots, N, rooted at Vertex 1.
We performed a depth-first search starting at the root and obtained a preorder traversal of the tree: P_1, P_2, \ldots, P_N.
During the search, when the current vertex had multiple children, we chose the unvisited vertex with the smallest index.
What is a preorder traversal?
Find the number of rooted trees consistent with the preorder traversal, modulo 998244353.
Two rooted trees (with N vertices and rooted at Vertex 1) are considered different when there is a non-root vertex whose parent is different in the two trees.
Constraints
- 2 \leq N \leq 500
- 1 \leq P_i\leq N
- P_1=1
- All P_i are distinct.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N P_1 P_2 \ldots P_N
Output
Print the number of rooted trees consistent with the preorder traversal, modulo 998244353.
Sample Input 1
4 1 2 4 3
Sample Output 1
3
The rooted trees consistent with the preorder traversal are the three shown below, so the answer is 3.
Note that the tree below does not count. This is because, among the children of Vertex 2, we visit Vertex 3 before visiting Vertex 4, resulting in the preorder traversal 1,2,3,4.
Sample Input 2
8 1 2 3 5 6 7 8 4
Sample Output 2
202