loj#P4768. 「ROIR 2025 Day1」寻找宝藏

「ROIR 2025 Day1」寻找宝藏

题目描述

译自 ROI Regional 2025 Day1 T4. Поиск сокровищ

为了寻找矿物资源,科学家们研发了一种特殊的扫描仪。

我们将搜索区域表示为一个包含 kknn 列的表格。行的编号从上到下为 11kk,列的编号从左到右为 11nn。每个单元格中都可能存在矿物资源。

扫描仪的工作方式如下:它可以在第 pp 列启动,并返回扫描区域中含有矿物的单元格数量。扫描区域包括第 pp 列的所有单元格,第 p1p-1 列的前 k1k-1 个单元格,第 p2p-2 列的前 k2k-2 个单元格,依此类推。下图展示了当 k=3k = 3n=5n=5 时,不同 pp 值下的扫描区域。

treasure.png

现在,给定扫描仪在所有列上的返回值,我们用 bpb_p 表示第 pp 列的扫描结果。如果对于某个表格,已经确定每个单元格是否含有矿物,并且根据该表格,扫描仪返回的结果与给定的 bpb_p 相符,则称该表格为 合法的。例如,如果在上述示例中,扫描仪返回的结果是 [2,1,2,3,2][2, 1, 2, 3, 2],那么以下就是一个合法的表格(含有矿物的单元格用黑色三角形表示):

treasure2.png

根据给定的扫描结果,确定合法表格的数量,并输出该数量对 109+710^9 + 7 取模的结果。请注意,扫描仪可能存在故障,导致没有任何合法的表格,这种情况下应输出 00

输入格式

第一行包含两个整数 nnkk (1n200,1k7)(1 \le n \le 200, 1 \le k \le 7),分别表示列数和行数。

第二行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n (0bik2)(0 \le b_i \le k^2),扫描仪在每一列的返回值。

输出格式

输出一个整数,表示合法表格的数量对 109+710^9 + 7 取模的结果。

5 3
2 1 2 3 2

24

数据范围与提示

子任务 分值 附加限制 子任务依赖
11 77 k2k \leq 2
22 99 k3k \leq 3 11
33 99 k4k \leq 4 1,21, 2
44 2020 k5k \leq 5 131\sim 3
55 1515 k6k \leq 6 141\sim 4
66 1010 1nk251 \leq n \cdot k \leq 25
77 3030 无附加限制 161\sim 6