luogu#P5410. 【模板】扩展 KMP/exKMP(Z 函数)

【模板】扩展 KMP/exKMP(Z 函数)

题目描述

给定两个字符串 a,ba,b,你要求出两个数组:

  • bbzz 函数数组 zz,即 bbbb 的每一个后缀的 LCP 长度。
  • bbaa 的每一个后缀的 LCP 长度数组 pp

对于一个长度为 nn 的数组 aa,设其权值为 xori=1ni×(ai+1)\operatorname{xor}_{i=1}^n i \times (a_i + 1)

输入格式

两行两个字符串 a,ba,b

输出格式

第一行一个整数,表示 zz 的权值。

第二行一个整数,表示 pp 的权值。

aaaabaa
aaaaa
6
21

提示

样例解释:

z={5 4 3 2 1}z = \{5\ 4\ 3\ 2\ 1\}p={4 3 2 1 0 2 1}p = \{4\ 3\ 2\ 1\ 0\ 2\ 1\}


数据范围:

对于第一个测试点,a,b2×103|a|,|b| \le 2 \times 10^3

对于第二个测试点,a,b2×105|a|,|b| \le 2 \times 10^5

对于 100%100\% 的数据,1a,b2×1071 \le |a|,|b| \le 2 \times 10^7,所有字符均为小写字母。