#P12116. [NWRRC2024] Longest Common Substring

    ID: 12046 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>动态规划 DP2024快速莫比乌斯变换 FMTICPC状压 DPNWRRC

[NWRRC2024] Longest Common Substring

Description

Lisa 编写了一个解决最长公共子串问题的程序。她使用该程序对两个由字符 0\tt{0}1\tt{1} 组成的字符串 sstt 进行计算,找到了它们的最长公共子串 ww。当存在多个相同长度的最长公共子串时,她任意选择其中一个。

值得注意的是,Lisa 找到的 ww 长度非常小——最多为 3。

Lisa 记得 nnss 的长度)、mmtt 的长度)和 ww,但她不记得字符串 sstt 本身。现在她想知道有多少对字符串 (s,t)(s, t) 满足:它们的长度分别为 nnmm,由字符 0\tt{0}1\tt{1} 组成,并且 ww 是它们的最长公共子串之一。

请帮助 Lisa 计算这个对数,结果对 998244353998\,244\,353 取模。注意当 n=mn = msts \ne t 时,(s,t)(s, t)(t,s)(t, s) 被视为不同的对。

Input Format

第一行包含三个整数 nnmmkk,分别表示字符串 ssttww 的长度(1n,m1001 \le n, m \le 1001kmin(3,n,m)1 \le k \le \min(3, n, m))。

第二行包含一个长度为 kk 的字符串 ww,由字符 0\tt{0}1\tt{1} 组成。

Output Format

输出满足条件的字符串对 (s,t)(s, t) 的数量,结果对 998244353998\,244\,353 取模。

2 2 1
1
6
3 4 2
01
28
7 5 3
110
399
23 42 3
000
174497840

Hint

注意,字符串 aa 是字符串 bb 的子串,当且仅当 aa 可以通过从 bb 的开头和结尾删除零个或多个字符得到。

在第一个测试用例中,所有满足条件的字符串对为 (01\tt{01}, 10\tt{10})、(01\tt{01}, 11\tt{11})、(10\tt{10}, 01\tt{01})、(10\tt{10}, 11\tt{11})、(11\tt{11}, 01\tt{01}) 和 (11\tt{11}, 10\tt{10})。