【问题描述】
对于一个字符串 S,我们定义 S 的分值 f(S) 为 S 中出现的不同的字符个数。例如 f("aba") = 2,f("abc") = 3, f("aaa") = 1。
现在给定一个字符串 S [0..n − 1](长度为 n),请你计算对于所有 S 的非空子串 S[i.. j] (0 ≤ i ≤ j < n),f(S [i.. j]) 的和是多少。
【输入形式】
输入一行包含一个由小写字母组成的字符串 S。
【输出形式】
输出一个整数表示答案。
【样例输入1】
ababc
【样例输出1】
28
【样例输入2】
aaa
【样例输出2】
6
【评分标准】
对于 20% 的评测用:1 ≤ n ≤ 10;
对于 40% 的评测用例:1 ≤ n ≤ 100;
对于 50% 的评测用例:1 ≤ n ≤ 1000;
对于 60% 的评测用例:1 ≤ n ≤ 10000;
对于所有评测用例:1 ≤ n ≤ 100000。
难度等级: | 0 |
总通过次数: | 4 |
总提交次数: | 7 |