#MNJ06D. [J组模拟赛6] 徐老师的完美彩带

[J组模拟赛6] 徐老师的完美彩带

文件读写

  • 输入文件ribbon.in
  • 输出文件ribbon.out

限制

  • 1000ms
  • 512MB

题目描述

徐老师有一根彩带,这根彩带上一共有 2626 种不同的颜色,并且彩带均匀的分割成了长度为 11 的部分,每一块都有一种颜色,为了方便描述颜色,每种颜色用一个小写字母表示

现在徐老师要用这些彩带来组成一根他心目中完美的彩带,于是他先把这根彩带全部剪开,变成了一堆纯色且长度为 11 的彩带片,对于 a∼za \sim z 每种颜色依次有 aia_i 片

而徐老师希望得到一根长度为 nn 的完美彩带 ss,完美彩带需要满足两个条件:

  1. 首先要保证,组成这根彩带的任意两个相邻的彩带片的颜色满足 si≤si+1s_i \leq s_{i+1}
  2. 这根完美彩带中必须包含着一个长度为 mm 的次完美彩带 bb(bib_i 可以不连续),例如 b=abcdb=abcd,那么对于 s=abccd,adbdcds=abccd,adbdcd 都是满足的

现在徐老师想知道,按他手里现有的这些彩带片,他能组合出多少种不同的完美彩带?

由于方案数可能很大,请你将答案对 1e9+71e9+7 取模

输入格式

输入第一行包含两个整数 n,mn,m,含义如题

输入第二行包含 2626 个整数 aia_i,依次表示 a∼za \sim z 每种颜色的彩带片数量

输入第三行包含一个字符串 bb,依次表示次完美彩带的颜色,其中每种颜色用一个小写字母表示

输出格式

输出一个整数,表示徐老师能组合出多少种不同的完美彩带,答案对 1e9+71e9+7 取模,若不存在合法方案则输出 00

数据范围

测试点编号 m≤m \leq 特殊性质
11 10001000 只有一个 aia_i 不是 00
22 11
33 22
44 10001000 只有两个 aia_i 不是 00
55 所有 aia_i 之和小于 2020
66 10001000 答案小于 109+710^9+7
77 可能的方案数为 00
88 bb 序列中存在bi>bi+1b_i > b_{i+1}
9∼109 \sim 10

对于所有数据,有 1≤m≤n≤1000,1≤ai≤1091 \leq m \leq n \leq 1000, 1 \leq a_i \leq 10^9

6 4
1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9
abcd
277

样例解释

可能的方案为

  1. abccdabccd 后拼接 d∼zd \sim z 中的任意一个字符,方案为 2323 种
  2. abcddabcdd 后拼接 e∼ze \sim z 中的任意一个字符,方案为 2222 种
  3. 同 22 号方案,abcde∼abcdyabcde \sim abcdy 依次有 21+20+19+…1=23121+20+19+ \dots 1 =231 种
  4. abcdzzabcdzz 一种

共计方案 23+22+231+1=27723+22+231+1=277 种

难度 未评定
通过率 100%
尝试 1
通过 1
ID
3708
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者