#P6139. 【模板】广义后缀自动机(广义 SAM)
【模板】广义后缀自动机(广义 SAM)
题目背景
管理员备注:本题于 2023 年 5 月 4 日加入输出点数的要求。本题在此之前提交的题解均没有输出点数,特此注明。
题目描述
给定 个由小写字母组成的字符串 ,求本质不同的子串个数。(不包含空串)
进一步,设 为能接受 的所有后缀的最小 DFA,请你输出 的点数。(如果你无法理解这句话,可以认为就是输出 建成的“广义后缀自动机”的点数)。
输入格式
第一行一个正整数 。
以下 行,每行一个字符串,第 行表示字符串 。
输出格式
第一行一个正整数,为本质不同的子串个数。
第二行一个正整数,为 的点数。
4
aa
ab
bac
caa
10
10
1
a
1
2
提示
数据范围:,。
样例 1 解释:共有 个本质不同的子串,它们是:"a","b","c","aa","ab","ac","ba","ca","bac","caa"
。 DFA 结构略去。
样例 2 解释:共有 个本质不同的子串,它们是:"a"
。DFA 包含一个起始结点 和一个结点 ,有一条边 ,其上字符为 a
。故总结点数为 2。