P7972 [KSN2021] Self Permutation

题目描述

给定一个长度为 $N$ 的排列 $a_i$,你可以执行若干次操作: * 选择两个相邻的数,删除它们中较大的那个。 问最后可能得到序列的数量,答案对 $10^9+7$ 取模。 注意如果两个数中间所有的数被删除了,它们会变成相邻的。

输入格式

第一行输入一个正整数 $N$。 第二行输入 $N$ 个正整数 $a_i$。

输出格式

输出一个整数代表答案。

说明/提示

**【样例解释】** 对于第一组样例,以下为所有可能得到的序列: - $[2,3,1]$ - $[\bold2,\bold3,1]\to[2,1]$ - $[\bold2,\bold3,1]→[\bold2,\bold1]→[1]$ 对于第二组样例,以下为所有可能得到的序列: - $[2,1,4,3]$ - $[\bold2,\bold1, 4, 3]\to[1, 4, 3]$ - $[\bold2,\bold1, 4, 3]\to[1,\bold4,\bold3]\to[1, 3]$ - $[\bold2,\bold1, 4, 3]\to[1,\bold4,\bold3]\to[\bold1,\bold3]\to[1]$ - $[2, 1,\bold4,\bold3]\to[2, 1, 3]$ - $[2, 1,\bold4,\bold3]\to[2,\bold1,\bold3]\to[2, 1]$ **【数据范围】** **本题采用捆绑测试。** - Subtask 1(8 points):只存在一组数据,满足 $N=6$,$A=[2,5,1,3,4,6]$。 - Subtask 2(20 points):$N\leq 200$。 - Subtask 3(13 points):$N\leq 2000$,$A_i=i$。 - Subtask 4(9 points):$A_i=i$。 - Subtask 5(23 points):$N\leq 2000$。 - Subtask 6(27 points):无特殊限制。 对于所有数据,$N\leq 3\times 10^5$,保证输入的 $a_i$ 能构成一个排列。