SZTG-U1303. D.kmp

提交1 通过1
通过率100%
文件IO启用
输入文件kmp.in
输出文件kmp.out
时间限制2000ms
内存限制1024MiB

题目描述

题目描述

对于一个长度为 nn 的字符串 ss,对于1≤i≤n1 \leq i \leq n,nextinext_i 为最大的整数 kk,满足 S[1:k]=S[i−k+1:i]S[1:k]=S[i-k+1:i](若不存在这样的 kk,则nexti=0next_i=0)。

给出 NEXTNEXT 数组和字符集大小 mm,请问有多少个长度为 nn 的字符串满足其 nextnext 数组和 NEXTNEXT 恰好一致,答案对 998244353998244353 取模。

输入格式

第一行一个正整数 TT,表示数据组数。

接下来对于每组数据,第一行两个正整数 n,mn,m。

第二行包含 nn 个整数,表示 NEXTNEXT 数组。

输出格式

对于每组数据,输出一行,包含一个整数,表示答案。

3
3 3
0 1 2
7 3
0 0 0 1 2 3 0
7 3
0 0 0 1 2 3 1
3
24
0
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。
详见下发文件,依次符合数据范围中每个测试点的性质。

说明提示

数据范围

测试点编号 n≤n\leq m≤m\leq
11 1010 33
2,32,3 10510^5 22
4,5,64,5,6 50005000
7,8,9,107,8,9,10 10510^5

对于 100%100\% 的数据,$1\leq n\leq10^5,1\leq m\leq10^5,0\leq NEXT_i\leq i-1,1\leq T\leq10$。