Problem10552--CSP-J2023 S2:消消乐(games)

10552: CSP-J2023 S2:消消乐(games)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

小 L 现在在玩一个低配版本的消消乐,该版本的游戏是一维的,一次也只能消除两个相邻的元素。

现在,他有一个长度为 $n$ 且仅由小写字母构成的字符串。我们称一个字符串是可消除的,当且仅当可以对这个字符串进行若干次操作,使之成为一个空字符串。

其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起。

小 L 想知道,这个字符串的所有非空连续子串中,有多少个是可消除的。

Input

输入的第一行包含一个正整数 $n$,表示字符串的长度。
输入的第二行包含一个长度为 $n$ 且仅由小写字母构成的的字符串,表示题目中询问的字符串。

Output

输出一行包含一个整数,表示题目询问的答案。

Constraints

对于所有测试数据有:$1 \le n \le 2 \times 10^6$,且询问的字符串仅由小写字母构成。

特殊性质 A:字符串中的每个字符独立等概率地从字符集中选择。

特殊性质 B:字符串仅由 `a` 和 `b` 构成。

Sample 1 Input

8
accabccb

Sample 1 Output

5
一共有 $5$ 个可消除的连续子串,分别是 `cc`、`acca`、`cc`、`bccb`、`accabccb`。

Sample 2 Input

800
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaooooppuuhhnnppkkppjjvvcckkhhqqllmmxxooppjjddzziiyyyyjjooppiivvppmmooppttnnbbmmaaqqvvkkllyyvvmmjjsswwxxccwweeeekkhhaakkvvffaaiieessmmiibbffnneepphhvvkkhhmmeeqqmmbbhhssooddaappooppppkkccxxxxccwwnnqqwwjjpeepvaavgttgmppmbqqballasggswoowryyrmkkmnddnxnnxtnntvyyvvzzvmmmmiwwixqqxyaayfeefaccaunnugjjgobbotpptivviiiiipbbplxxllzzlznnzquuqkvvktjjtyllyyyyyewwelttlubbuxjjxmyymoddowyyweooebffbikkixkkxellerxxrlxxlgdkzkpwpjqoghmioativhlzvuqyqwarqalgroigpoikqafuotrpssxihkohuriatwxjsrdstctlmuiooqfmbyxyjggmpkeyzolpwgplbxpvdryqlwfxosschdjncmucfwcyzndjmxsvvgcxrkpymobrfnpunjvfvhjnimugngebdtjfklozhisrfaigqlihewhiycjiw

Sample 2 Output

38727

HINT

洛谷P9753.

Source/Category