#431. [R69E]协调串

[R69E]协调串

时空限制

0.6S/512M

题目描述

我们称一个字符串是协调的,当且仅当它的第一个字符与最后一个字符相同。特别地,长度为 11 的字符串也是协调的。

对于一个字符串 uu,定义函数 f(u)f(u) 表示:从 uu 中删除若干个字符后,使得剩余字符按原相对顺序拼接成一个协调字符串,所需删除字符数的最小值。

现在给定一个仅由小写字母组成的字符串 ss,长度为 nn。对于每一对满足 1lrn1 \le l \le r \le n 的下标,记 s[l..r]s[l..r]ss 从第 ll 个字符到第 rr 个字符组成的连续子串。

你的任务是求出所有连续子串的 ff 值之和,即:

1lrnf(s[l..r])\sum_{1 \le l \le r \le n} f(s[l..r])

格式

输入格式

第一行包含一个整数 nn,表示字符串 ss 的长度。

第二行包含一个长度为 nn 且仅由小写字母组成的字符串 ss

输出格式

输出一行一个整数,表示所有连续子串 s[l..r]s[l..r]f(s[l..r])f(s[l..r]) 之和。

样例

样例输入 #1

4
abac

样例输出 #1

6

样例输入 #2

4
aaaa

样例输出 #2

0

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le
11 3030 100100
22 3030 10001000
33 4040 10410^4

对于 100%100\% 的数据,满足 1n1041 \le n \le 10^4,且字符串 ss 仅包含小写字母。