问题 B: 消消乐(game)

传统题
1.000s 时间限制
512MB 内存限制
2 提交
1 解决

【题目描述】
【题目描述】 小L现在在玩一个低配版本的消消乐,该版本的游戏是一维的,一次也只能消除两个相邻的元素。 现在,他有一个长度为n且仅由小写字母构成的字符串。我们称一个字符串是可消除的,当且仅当可以对这个字符串进行若干次操作,使之成为一个空字符串。 其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起。 小L想知道,这个字符串的所有非空连续子串中,有多少个是可消除的。 【输入格式】 从文件game.in中读入数据。 输入的第一行包含一个正整数n,表示字符串的长度。 输入的第二行包含一个长度为n且仅由小写字母构成的的字符串,表示题目中询问的字符串。 【输出格式】 输出到文件game.out中。 输出一行包含一个整数,表示题目询问的答案。 【样例1输入】 8 accabccb 【样例1输出】 5 【样例1解释】 一共有5个可消除的连续子串,分别是cc、acca、cc、bccb、accabccb。 【样例2】 见选手目录下的game/game2.in与game/game2.ans。 【样例3】 见选手目录下的game/game3.in与game/game3.ans。 【样例4】 见选手目录下的game/game4.in与game/game4.ans。 【数据范围】 对于所有测试数据有:1≤n≤2×106,且询问的字符串仅由小写字母构成。   特殊性质A:字符串中的每个字符独立等概率地从字符集中选择。 特殊性质B:字符串仅由a和b构成。  
【输入】

输入的第一行包含一个正整数n,表示字符串的长度。

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

【输出】
输出一行包含一个整数,表示题目询问的答案。
【样例输入】复制
8
accabccb
【样例输出】 复制
5

题目类型~

CSP-S2023