#P16810. [NWRRC 2024]Longest Common Substring
[NWRRC 2024]Longest Common Substring
题目描述
Lisa 编写了一个程序来解决最长公共子串问题。
对于某两个仅由字符 0 和 1 组成的字符串 ,她使用程序找到了一个同时为 和 子串的最长字符串 。若最长公共子串不唯一,她任意选择了其中一个。
特别地,她得到的 很短,长度至多为 。
Lisa 还记得 的长度 、 的长度 以及字符串 ,但已经忘记了 和 本身。
请计算有多少个有序字符串对 满足:
- ,;
- 均只由
0和1组成; - 是 和 的某个最长公共子串。
答案对 取模。
注意,当 且 时, 和 被视为不同的字符串对。
输入格式
第一行包含三个整数 ,分别表示字符串 的长度。
第二行包含一个长度为 、仅由 0 和 1 组成的字符串 。
数据范围
输出格式
输出一个整数,表示满足条件的有序字符串对 的数量,对 取模。
样例 1
2 2 1
1
6
样例 2
3 4 2
01
28
样例 3
7 5 3
110
399
样例 4
23 42 3
000
174497840
样例说明
在样例 1 中,所有满足条件的字符串对为:
$$(\texttt{01},\texttt{10}), (\texttt{01},\texttt{11}), (\texttt{10},\texttt{01}), (\texttt{10},\texttt{11}), (\texttt{11},\texttt{01}), (\texttt{11},\texttt{10}).$$字符串 是字符串 的子串,当且仅当可以从 的开头删除若干字符,再从结尾删除若干字符,得到 ;删除的字符数均可为 。