AT_s8pc_2_e 部分文字列
题目描述
$ square1001 $「$ E869120 $ 的所有字符都不相同,但 $ square1001 $ 有 $ 2 $ 个字符是相同的!」
$ E869120 $「也就是说,子串的种类数也会不同吧……」
$ square1001 $「比如在 $ 1001 $ 这个字符串中,第 $ 2 $ 个字符的 $ '0' $ 和第 $ 3 $ 个字符的 $ '0' $ 是重复的!($ '1' $ 也是如此)」
因此,这次请枚举字符串 $ S $ 的所有子串,并将重复的字符串只计数一次,求这些子串的总字符数。
例如,对于 $ "aba" $,可以得到 {$ "a","b","a","ab","ba","aba" $} 共 $ 6 $ 种,但 $ "a" $ 是重复的。
作为子串的种类有 $ 5 $ 种。
{$ "a","b","ab","ba","aba" $} 的总字符数为 $ 1+1+2+2+3=9 $。
注意:答案可能无法用 $ 32 $ 位整数型存储。
- $ a,\ b,\ c,\ ab,\ bc,\ abc $ 是 $ abc $ 的子串,总共 $ 10 $ 个字符。
- 请注意存在重复的情况。
输入格式
输入以如下格式从标准输入给出。
> $ S $
- 第 $ 1 $ 行给出要查询的字符串 $ S $。
输出格式
请按如下格式输出到标准输出。
- 输出作为子串(重复只计一次)考虑时的所有子串的总字符数。
- 但请注意,答案可能无法用 $ 32 $ 位整数型存储。
说明/提示
### 约束条件
- $ 1 \leq |S| \leq 100,\!000 $
- 所包含的字符仅为小写英文字母
### 子任务
子任务 $ 1 $ \[ $ 15 $ 分 \]
- 满足 $ 1 \leq |S| \leq 100 $。
子任务 $ 2 $ \[ $ 35 $ 分 \]
- 满足 $ 1 \leq |S| \leq 2,\!000 $。
子任务 $ 3 $ \[ $ 50 $ 分 \]
- 无额外约束。
由 ChatGPT 4.1 翻译