AT_arc104_f [ARC104F] Visibility Sequence
题目描述
有 $N$ 栋正在建设中的大楼排成一列,大楼从左到右依次编号为 $1, 2, \ldots, N$。
给定一个长度为 $N$ 的整数序列 $X$,第 $i$ 栋大楼的高度 $H_i$ 可以是 $1$ 到 $X_i$ 之间的任意整数。
对于 $1 \leq i \leq N$,定义 $P_i$ 如下:
- 如果存在整数 $j\ (1 \leq j < i)$ 满足 $H_j > H_i$,则 $P_i$ 为所有满足条件的 $j$ 中的最大值;如果不存在这样的 $j$,则 $P_i = -1$。
请计算所有可能的大楼高度组合中,$P$ 可能出现的不同整数序列的个数,并对 $1000000007$ 取模后输出。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $X_1$ $X_2$ $\cdots$ $X_N$
输出格式
请输出所有可能的大楼高度组合中,$P$ 可能出现的不同整数序列的个数,对 $1000000007$ 取模。
说明/提示
### 限制条件
- $1 \leq N \leq 100$
- $1 \leq X_i \leq 10^5$
- 输入均为整数
### 样例解释 1
$H$ 可能的情况如下,共有 $6$ 种:
- 当 $H = (1, 1, 1)$ 时,$P = (-1, -1, -1)$
- 当 $H = (1, 2, 1)$ 时,$P = (-1, -1, 2)$
- 当 $H = (2, 1, 1)$ 时,$P = (-1, 1, 1)$
- 当 $H = (2, 2, 1)$ 时,$P = (-1, -1, 2)$
- 当 $H = (3, 1, 1)$ 时,$P = (-1, 1, 1)$
- 当 $H = (3, 2, 1)$ 时,$P = (-1, 1, 2)$
因此,$P$ 可能出现的不同整数序列有 $(-1, -1, -1),\ (-1, -1, 2),\ (-1, 1, 1),\ (-1, 1, 2)$ 共 $4$ 个。
### 样例解释 2
$H$ 可能的情况如下,共有 $2$ 种:
- 当 $H = (1, 1, 1)$ 时,$P = (-1, -1, -1)$
- 当 $H = (1, 1, 2)$ 时,$P = (-1, -1, -1)$
因此,$P$ 可能出现的不同整数序列只有 $1$ 个。
由 ChatGPT 4.1 翻译