#HK4317. 「ROIR 2023 Day2」美丽的序列

「ROIR 2023 Day2」美丽的序列

题目描述

译自 ROI Regional 2023 Day2 T2. Красивые последовательности

给定一个集合 AA,其中包含从 1188 的不同整数。

考虑一个由 nn 个整数组成的序列 [a1,a2,,an]\left[a_{1}, a_{2}, \ldots, a_{n}\right],每个整数都从集合 AA 中选取。如果对于任意一个数 xx,序列中所有等于 xx 的元素之间的距离至少为 xx,我们称这个序列是美丽的。换句话说,对于任意一个数 xx 和任意两个索引 1i<jn1 \leq i < j \leq n,如果 ai=aj=xa_{i}=a_{j}=x,则必须满足 jixj-i \geq x

需要计算给定长度 nn 和集合 AA 的美丽序列的数量,并输出这个数量除以 109+710^{9}+7 的余数。

输入格式

第一行输入包含两个整数 nnmm (1n100,1m8)(1 \leq n \leq 100, 1 \leq m \leq 8),分别表示序列的长度和集合 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 55 A={1,2},n10A=\{1,2\}, n \leq 10
22 1010 A={1,2},n30A=\{1,2\}, n \leq 30 11
33 1515 A={1,2}A=\{1,2\} 1,21,2
44 2020 A={1,k}A=\{1, k\},其中 2k82 \leq k \leq 8 1,2,31,2,3
55 3030 ai5a_{i} \leq 5 1,2,31,2,3
66 2020 无附加限制 1,2,3,4,51,2,3,4,5