AT_arc100_d [ARC100F] Colorful Sequences

题目描述

给定整数 $N$、$K$,以及一个长度为 $M$ 的整数序列 $A$。 如果一个整数序列的每个元素都是 $1$ 到 $K$ 之间的整数,并且存在一个长度为 $K$ 的连续子序列,恰好包含 $1$ 到 $K$ 的每个整数各一次,则称该序列是“彩色”的。 请你统计所有长度为 $N$ 的彩色整数序列中,包含与 $A$ 完全相同的连续子序列的个数,并求这些个数的总和。由于答案可能非常大,请输出其对 $10^9+7$ 取模的结果。

输入格式

输入以如下格式从标准输入读入。 > $N$ $K$ $M$ $A_1$ $A_2$ $\ldots$ $A_M$

输出格式

请输出所有长度为 $N$ 的彩色整数序列中,包含与 $A$ 完全相同的连续子序列的个数的总和,对 $10^9+7$ 取模。

说明/提示

## 限制条件 - $1 \leq N \leq 25000$ - $1 \leq K \leq 400$ - $1 \leq M \leq N$ - $1 \leq A_i \leq K$ - 所有输入均为整数。 ## 样例解释 1 长度为 $3$ 的彩色整数序列有 $(1,1,2)$、$(1,2,1)$、$(1,2,2)$、$(2,1,1)$、$(2,1,2)$、$(2,2,1)$ 共 $6$ 个。对于这些序列,包含与 $A=(1)$ 完全相同的连续子序列的个数分别为 $2$、$2$、$1$、$2$、$1$、$1$。因此,这些个数的总和为 $9$,即为答案。 由 ChatGPT 4.1 翻译