6061. 子串分值和

【问题描述】

    对于一个字符串 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
  • 历届真题
蓝桥杯2020省赛B组