AT_arc138_f [ARC138F] KD Tree

题目描述

给定一个长为 $n$ 的点列 $(i,p_i)$,其中 $\{p_i\}$ 是一个 $1$ 到 $n$ 的排列。 每次操作可以选择 $x/y$ 和一个坐标,将点列分成左右/上下两边(保持两边的相对顺序不变),分别递归下去,直到只剩下一个点,把它加入答案序列末尾。 求最终能生成多少种不同的答案序列,对 $10^9+7$ 取模。

输入格式

第一行一个正整数 $n$,表示点列长度。 第二行一个长为 $n$ 的排列 $p_i$。

输出格式

一行一个整数,表示答案序列数量对 $10^9+7$ 取模的结果。

说明/提示

对于所有数据,$n\le 30$,保证 $p_i$ 是一个 $1$ 到 $n$ 的排列。