#P8351. [SDOI/SXOI2022] 子串统计
[SDOI/SXOI2022] 子串统计
题目描述
小 D 四岁半的时候学会了后缀自动机。
你有一个字符串 ,长度为 。初始时,。每次你可以从删除 的开头或结尾的字符得到新的字符串 ,经过 次操作之后,我们会得到只有一个字符的串 ,根据每次删除的选择,一共有 种可能的操作序列。注意,虽然可能会有一次操作,删除开头或结尾的字符得到相同的串,但是我们仍然把它当成两种不一样的操作序列。
对于一个串 ,我们记 表示 在 中作为子串的出现次数,比如 $\operatorname{\textit{occ}}(\texttt{aaa},\texttt{aaaabaaa})=3$。
对于一个操作序列,记它贡献是
$$\prod_{i = 1}^{n - 1} \operatorname{\textit{occ}}(T_i) $$求出所有操作序列的贡献和,由于答案很大,请输出答案对 取模的结果。
输入格式
只有一行一个字符串 ,保证只包含小写字符。
输出格式
输出一行一个整数表示答案。
zzz
24
abbab
53
见附加样例文件中的 ex_substring3.in
见附加样例文件中的 ex_substring3.out
提示
数据规模与约定
本题共 个测试点。
- 对于测试点 ,满足 。
- 对于测试点 ,满足 的每个字符均从 和 中等概率独立随机生成。
- 对于测试点 ,满足 。
对于所有数据,。 中只有小写英文字母。