说明
给出一个长度为 N−1 的序列 B1,B2,…,BN−1,求出有多少长度为 N 序列 A1,A2,…,AN 满足:
- A1,A2,…,AN 删掉其中一个数后和 B1,B2,…,BN−1 一样;
- 存在一个长度为 N 的排列 H1,H2,…,HN,使得 Ai 是以 Hi 为结尾的最长递增子序列的长度。
输入格式
第一行包含一个整数 N,表示序列的长度。
接下来 N−1 行,第 j (1≤j≤N−1) 行包含一个整数 Bj,含义如题所述。
输出格式
输出一个整数,表示满足条件的 A1,A2,…,AN 的个数。
样例
4
1
1
2
5
总共有 5 个满足条件的序列:
- 1,2,1,2:H2>H4>H1>H3 或者 H2>H1>H4>H3。
- 1,1,2,3:H4>H3>H1>H2。
- 1,1,2,1:H3>H1>H2>H4。
- 1,1,2,2:H3>H4>H1>H2。
- 1,1,1,2:H4>H1>H2>H3。
8
1
1
2
1
2
3
1
15
数据范围与提示
对于全部数据,满足 2≤N≤106,1≤Bj≤N。
本题共有 3 个子任务。每个子任务的分数和附加限制如下:
Subtask |
附加限制 |
分数 |
1 |
N≤8 |
10 |
2 |
N≤300 |
30 |
3 |
无附加限制 |
60 |