D. 徐老师的神秘编码

    传统题 1000ms 256MiB

徐老师的神秘编码

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

徐老师来到了一个神秘的石洞,但是这个石洞被一扇充满科技感的门封死了

石老师告诉徐老师,也许石洞里有外星人留下的羊腿!(外星人为什么会留下羊腿??)

众所周知,没有人能够抵抗羊腿的诱惑,特别是徐老师

于是徐老师准备研究研究如何打开石洞,他发现石洞的门上写着长度为 nn 的字符串 SS

这个字符串每隔一段时间就会发生变化,经过徐老师的观察,他发现这个字符串里只会出现小写字母和问号

而经过他不断的探索,他发现字符串上的问号是可以被点击的,当点击后,徐老师可以将这个问号替换成任意一个小写字母,而当所有问号被替换成字母后,这扇门会明显进入判定状态,显然是在查看这个字符串能否开门

经过徐老师不断的测试,最终徐老师打开了这扇神秘的大门!

而经过徐老师的总结,开门的规则是——最终的字符串 SS 中,不能有任意长度 ≥2\ge 2 的连续子串中存在出现次数 超过 这个子串长度一半的小写字母

好不容易打开了门的徐老师发现门背后其实什么都没有,这真是个悲伤的故事!

痛定思痛的徐老师决定静下心来好好思考,对于一个字符串,到底有多少种不同的开门方式?

输入格式

输入第一行包含一个整数 nn,表示字符串的长度

输入第二行包含一个字符串 SS,表示徐老师现在看到门上的字符串

输出格式

输出包含一个整数,表示有多少种不同的字符串可以打开这门,由于答案很大,请将答案对 109+710^9+7 取模后输出

如果没有能开门的方案,则输出 Sorry!

数据范围

测试点编号 nn 特殊性质
1∼41 \sim 4 1≤n≤81 \leq n \leq 8 无
5∼65 \sim 6 1≤n≤50001 \leq n \leq 5000 开门方案数为 00
7∼107 \sim 10 1≤n≤2001 \leq n \leq 200 无
11∼1211 \sim 12 1≤n≤50001 \leq n \leq 5000 输入中不包含问号
13∼2013 \sim 20 无

对于所有输入数据保证:输入的字符串仅包含小写字母和英文问号

样例输入1

3
x?y

样例输出1

24

样例解释1

如果替换成 xx,字符串变成 xxyxxy,可以发现子串 xxxx 不满足条件 如果替换成 yy,字符串变成 xyyxyy,可以发现子串 yyyy 不满足条件 其余字母均符合条件

样例输入2

3
a?a

样例输出2

Sorry!

样例输入3

6
x?y?za

样例输出3

530

2026暑假普及组模拟赛(5)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-8-4 12:30
结束于
2026-8-14 12:30
持续时间
240 小时
主持人
参赛人数
25