Dotcpp  >  编程题库  >  蓝桥杯2020年第十一届省赛真题-子串分值和
题目 2585:

蓝桥杯2020年第十一届省赛真题-子串分值和

时间限制: 2s 内存限制: 192MB 提交: 1801 解决: 431

题目描述

对于一个字符串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。

输出格式

输出一个整数表示答案。

样例输入

ababc

样例输出

28

提示

子串  f值
a     1
ab    2
aba   2
abab  2
ababc 3
 b    1
 ba   2
 bab  2
 babc 3
  a   1
  ab  2
  abc 3
   b  1
   bc 2
    c 1

标签