洛谷P5410 KMP(Z函数)
发布时间
阅读量:
阅读量
【模板】扩展 KMP(Z 函数)
题目描述
对于两个字符串 a,b,需要计算出以下两个数组:
- b 的 z 函数数组 z,该数组表示 b 与其各个后缀的最长公共前缀长度。
- b 与 a 的各个后缀的最长公共前缀长度所构成的数组 p。
假设有一个长度为 n 的数组 a,其权值定义为从 i=1 到 n 对 i \times (a_i + 1) 进行异或运算的结果。
输入格式
两个字符串 a,b 分别位于两行。
输出格式
第一行给出一个数值,用于表征 z 的权重。
第二行给出一个数值,用于表征 p 的权重。
样例分析与呈现
样例输入 #1
aaaabaa
aaaaa
样例输出结构解析
6
21
提示
样例解释:
z = \{5\ 4\ 3\ 2\ 1\},p = \{4\ 3\ 2\ 1\ 0\ 2\ 1\}。
数据范围:
在第一个测试点中,$|a|,|b| \le 2 \times 1
全部评论 (0)
还没有任何评论哟~
