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 翻译