#luoguP6045. 后缀树
后缀树
Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable
题目背景
Eztsu 是一个可爱的女孩子,最近她学习了后缀树,并打算用它来解决如下问题。
题目描述
对于一个字符串 ,我们定义 表示 的长度。
接着,我们定义 表示 中第 个字符, 表示由 中从左往右数,第 个字符到第 个字符依次连接形成的字符串。
给定 ,求有多少种不同的满足下列要求的串 :
- 。
- 中仅包含小写字母。
- 不存在整数 使得 是 的子串。
对于第三个限制,用通俗一点的说法解释的话,就是不存在一种将这个串分成两段的方式,使得前面一段是后面一段的子串。
两个串 和 不同当且仅当 或 。如果你不知道这是什么意思,你可以理解为它们看起来不同。
可怜的 Eztsu 不会做,所以你要帮她做这道题。
答案可能很大,你只需要输出答案对 取模的值。
题面补充:
是 的子串当且仅当存在 使得 .
输入格式
一行一个正整数 ,意义见题目描述。
输出格式
一行一个整数,答案对 取模的值。
2
650
105383595
114514
提示
样例解释
对于第一组样例,不难发现,这个串符合题意当且仅当两个字符不同,因此答案为 ,可以理解为两个字符任意的方案数减去两个字符相同的方案数。
数据范围
「本题采用捆绑测试」
对于所有测试点,保证 。
。
。
没有特殊限制。
提示
小写字母一共有 个。