AT_maximum_cup_2023_e 小大小大……

题目描述

给定一个 $ (1,2,\ldots,N) $ 的排列 $ P=(p_1,p_2,\ldots,p_N) $。 将 $ P $ 分割成 $ 1 $ 个或多个非空连续子序列 $ X_1,X_2,\ldots,X_K $,并按如下方式定义 $ (m_1,m_2,\ldots,m_K) $: - 如果 $ i $ 是奇数,则 $ m_i $ 是 $ X_i $ 中的最小值; - 如果 $ i $ 是偶数,则 $ m_i $ 是 $ X_i $ 中的最大值。 请计算作为 $ (m_1,m_2,\ldots,m_K) $ 可能出现的序列有多少种,输出答案对 $ 10^9+7 $ 取余后的结果。

输入格式

输入以如下格式经标准输入给出: > $ N $ $ p_1 $ $ p_2 $ $ \ldots $ $ p_N $

输出格式

请输出答案。

说明/提示

### 样例解释 1 将 $ P $ 的分割方法共有 $ 4 $ 种,每种方法对应的 $ (m_1,m_2,\ldots,m_K) $ 如下: - 不分割,整个为 $ (1,2,3) $。$\min(1,2,3)= 1$,故序列为 $ (1) $。 - 分割为 $ (1),(2,3) $,$\min(1)=1, \max(2,3)=3$,故序列为 $ (1,3) $。 - 分割为 $ (1,2),(3) $,$\min(1,2)=1, \max(3)=3$,故序列为 $ (1,3) $。 - 分割为 $ (1),(2),(3) $,$\min(1)=1, \max(2)=2, \min(3)=3$,故序列为 $ (1,2,3) $。 因此,$ (m_1,m_2,\ldots,m_K) $ 可能出现的序列有 $ (1), (1,3), (1,2,3) $ 共 $ 3 $ 种。 ### 数据范围 - $ 1 \leq N \leq 3 \times 10^5 $ - $ 1 \leq p_i \leq N $ - 若 $ i \ne j $,则 $ p_i \ne p_j $ - 输入均为整数。 由 ChatGPT 5 翻译