#P10099. [ROIR 2023 Day 2] 美丽序列

    ID: 9476 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>动态规划,dp2023数据结构Special Judge动态规划优化状态压缩

[ROIR 2023 Day 2] 美丽序列

题目背景

翻译自 ROIR 2023 D2T2

给定一个整数集合 AA,其中的元素都在 1188 之间。

一个由 nn 个在集合 AA 中的整数组成的序列 [a1,a2,,an][a_1, a_2, \dots , a_n],如果对于任意数字 xx,序列中等于 xx 的所有元素彼此之间的距离不小于 xx,则称这个序列是美丽的。换句话说,如果对于任意数字 xx 和任意的 1i<jn1 \le i < j \le n,只要 ai=aj=xa_i = a_j = x,则不等式 jixj - i \ge x 必然成立,那么这样的序列 aa 就被称为美丽的序列。

例如,当 A={1,2,3,4,5}A=\{1,2,3,4,5\} 时,序列 [2,3,2,4,3,1,1,4][2,3,2,4,3,1,1,4] 是美丽的,而 [1,1,4,5,1,4][1,1,4,5,1,4] 不是美丽的,因为这个序列中的两个 44 之间的距离是 33

题目描述

给定数字 nn 和集合 AA,求出符合条件的美丽的序列的个数,对 109+710^9 + 7 取模。

输入格式

输入的第一行包含两个整数 nnmm,分别表示序列的长度和集合 AA 的元素个数。

输入的第二行按升序给出了 mm 个互不相同的小于等于 88 的正整数,表示集合 AA 的元素。

输出格式

输出一个整数,表示美丽序列的数量除以 109+710^9 + 7 的余数。

3 2
1 2
5

提示

在样例中,美丽的序列有 [1,1,1],[1,1,2],[1,2,1],[2,1,1],[2,1,2][1, 1, 1],[1, 1, 2],[1, 2, 1],[2, 1, 1],[2, 1, 2]。序列 [2,2,2],[1,2,2],[2,2,1][2, 2, 2],[1, 2, 2],[2, 2, 1] 不是美丽的,因为这三个序列中都有两个数值为 22 的元素相距为 11

本题使用捆绑测试。

子任务编号 分值 特殊性质
11 2020 A={1,2},n10A=\{1,2\},n\le10
22 1717 A={1,2},n30A=\{1,2\},n\le30
33 1212 A={1,2}A=\{1,2\}
44 66 A={1,k}A=\{1,k\}2k82\le k\le8
55 1616 AA 中没有超过 55 的元素
66 1515 无特殊性质

对于 100%100\% 的数据,1n100,1m81 \le n \le 100,1 \le m \le 8