【题目描述】
给定一个由小写英文字母组成的字符串
- 设
为 的所有非空回文子串组成的集合,令 。 的回文树由 棵树组成,其中包含 个与 中元素一一对应的顶点,以及两个称为 ODD和EVEN的特殊顶点。- 回文树的顶点编号方式如下:
ODD的编号为, EVEN的编号为。 - 其他每个顶点
都对应某个 。对于 ,按 的升序为这些顶点分别赋予编号 ,其中 的选取使得 最小。 - 对每个顶点
( ),令 为其父亲顶点的编号。也就是说, 是删去 的首尾各一个字符后得到的回文所对应的顶点的编号。不过,若 ,则其父亲是 EVEN(编号);若 ,则其父亲是 ODD(编号)。
- 对每个顶点
( ),令 为从 出发的后缀链接的终点编号。也就是说, 是 的、长度小于 的最长非空回文后缀所对应的顶点的编号。若不存在这样的回文后缀,则规定后缀链接的终点为 EVEN(编号)。
输出
此外,对每个
【输入】
$S$【输出】
$n$
$p_1$ $s_1$
$\vdots$
$p_n$ $s_n$
$v_1$ $\ldots$ $v_{|S|}$【输入样例】
abaa【输出样例】
4
-1 0
-1 0
2 1
0 1
1 2 3 4【输入样例2】
aaaaaaa【输出样例2】
7
-1 0
0 1
1 2
2 3
3 4
4 5
5 6
1 2 3 4 5 6 7【输入样例3】
abaccabacacca【输出样例3】
11
-1 0
-1 0
2 1
-1 0
0 4
5 1
6 2
7 3
3 4
4 1
1 4
1 2 3 4 5 6 7 8 9 10 11 5 6【数据范围】
的每个字符都是小写英文字母。
【来源】
Library Checker(yosupo06) eertree