AT_abc441_e.[ABC441E] A > B substring
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 A、B、C 三种字符组成的长度为 $ N $ 的字符串 $ S $。
$ S $ 的非空连续子串共有 $ \dfrac{N(N+1)}2 $ 个,请问其中包含的 A 数量多于 B 数量的子串有多少个?
请注意,即使两个子串内容相同,只要它们在 $ S $ 中取出的位置不同,就视为不同的子串。
子串 是指从 $ S $ 的开头删除 $ 0 $ 个或更多字符,以及从末尾删除 $ 0 $ 个或更多字符所得到的字符串。
例如,AB 是 ABC 的子串,但 AC 不是 ABC 的子串。
输入格式
输入通过标准输入给出,格式如下:
$ N $ $ S $
输出格式
输出 $ S $ 的连续子串中,A 的数量多于 B 的数量的子串个数。
输入输出样例
输入#1
10 ACBBCABCAB
输出#1
8
输入#2
4 CCBC
输出#2
0
输入#3
36 CABACBBBBBAABABACCBCABCCABAABABBCBAC
输出#3
136
说明/提示
样例解释 1
满足条件的子串共有 $ 8 $ 个:
A: $ S $ 的第 $ 1 $ 个字符到第 $ 1 $ 个字符
AC: $ S $ 的第 $ 1 $ 个字符到第 $ 2 $ 个字符
CA: $ S $ 的第 $ 5 $ 个字符到第 $ 6 $ 个字符
CABCA: $ S $ 的第 $ 5 $ 个字符到第 $ 9 $ 个字符
A: $ S $ 的第 $ 6 $ 个字符到第 $ 6 $ 个字符
ABCA: $ S $ 的第 $ 6 $ 个字符到第 $ 9 $ 个字符
CA: $ S $ 的第 $ 8 $ 个字符到第 $ 9 $ 个字符
A: $ S $ 的第 $ 9 $ 个字符到第 $ 9 $ 个字符
除了以上这些,没有其他子串满足条件,因此输出 8。
请注意,像 A 或 CA 可以从多个位置取出,但只要取出的位置不同,就视为不同的子串并分别计数。
样例解释 2
也有可能不存在满足条件的子串。
数据范围
-
$ 1\le N\le5\times10 ^ 5 $。
-
$ S $ 是一个由
A、B、C组成的长度为 $ N $ 的字符串。 -
$ N $ 是整数。
输入解题思路,AI测评打分。不知道怎么写?