AT_agc026_d [AGC026D] Histogram Coloring

题目描述

考虑一个高为 $10^9$、宽为 $N$ 的网格。我们用 $(i, j)$ 表示从左起第 $i$ 列、从下起第 $j$ 行的格子($1 \leq i \leq N$,$1 \leq j \leq 10^9$)。 すぬけ君对每个 $i = 1, 2, \ldots, N$,将第 $i$ 列的格子从下往上只保留 $h_i$ 个,其余的去掉。然后,他用红色和蓝色两种颜料对剩下的格子进行涂色。请计算满足以下条件的涂色方案数。由于答案可能非常大,请输出其对 $10^9+7$ 取模的结果。 - 所有(切割后剩下的)格子都被涂成红色或蓝色之一。 - 对于所有 $1 \leq i \leq N-1$,$1 \leq j \leq \min(h_i, h_{i+1})-1$,在 $(i, j)$、$(i, j+1)$、$(i+1, j)$、$(i+1, j+1)$ 这四个格子中,恰好有 $2$ 个是红色,$2$ 个是蓝色。

输入格式

输入以如下格式从标准输入读入。 > $N$ $h_1$ $h_2$ $\ldots$ $h_N$

输出格式

输出涂色方案数对 $10^9+7$ 取模的结果。

说明/提示

## 限制条件 - $1 \leq N \leq 100$ - $1 \leq h_i \leq 10^9$ ## 样例解释 1 以下是其中一种涂色方案。 ``` ## ## ### ##### ########### ``` ## 样例解释 2 存在如下 $6$ 种涂色方案。 ``` ## ## ## ## ## ## #### ## ## ## ## ## ## ``` ## 样例解释 3 任意涂色方案都满足条件。 ## 样例解释 4 请注意输出方案数对 $10^9+7$ 取模的结果。 由 ChatGPT 4.1 翻译