s = input()
ans = 0
a = [-1 for _ in range(26)]
b = [len(s) for _ in range(26)]
pre = [None for _ in range(len(s))]
next = [None for _ in range(len(s))]
for i in range(len(s)):
c = ord(s[i]) - ord('a')
pre[i] = a[c]
a[c] = i
for i in range(len(s) - 1, -1, -1):
c = ord(s[i]) - ord('a')
next[i] = b[c]
b[c] = i
for i in range(len(s)):
ans += (i - pre[i]) * (next[i] - i)
print(ans)
2021.9.3.1子串分值
最新推荐文章于 2024-09-14 19:55:48 发布