AT_abc455_e.[ABC455E] Unbalanced ABC Substrings

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A, B, C の $ 3 $ 種類の文字のみからなる長さ $ N $ の文字列 $ S $ が与えられます。
$ S $ の空でない部分文字列は $ \frac{N(N+1)}{2} $ 個ありますが、そのうち以下の条件を満たすものがいくつあるか求めてください。

  • A, B, C の出現回数が相異なる。

ただし、 $ 2 $ つの部分文字列は、 $ S $ から取り出す場所が異なれば文字列として同じでも区別して数えることに注意してください。

部分文字列とは? $ S $ の部分文字列とは、 $ S $ の先頭から $ 0 $ 文字以上、末尾から $ 0 $ 文字以上削除して得られる文字列のことをいいます。 例えば、AB は ABC の部分文字列ですが、AC は ABC の部分文字列ではありません。

输入格式

入力は以下の形式で標準入力から与えられる。

$ N $ $ S $

输出格式

答えを $ 1 $ 行で出力せよ。

输入输出样例

  • 输入#1

    6
    AABBCC

    输出#1

    4
  • 输入#2

    6
    ABCABC

    输出#2

    0
  • 输入#3

    10
    ACABCAABAB

    输出#3

    17

说明/提示

Sample Explanation 1

$ S $ の先頭から $ 0 $ 文字、末尾から $ 3 $ 文字を削除すると AAB となり、これは条件を満たします。
$ S $ の先頭から $ 1 $ 文字、末尾から $ 2 $ 文字を削除すると ABB となり、これは条件を満たします。
$ S $ の先頭から $ 2 $ 文字、末尾から $ 1 $ 文字を削除すると BBC となり、これは条件を満たします。
$ S $ の先頭から $ 3 $ 文字、末尾から $ 0 $ 文字を削除すると BCC となり、これは条件を満たします。
また、これら以外の部分文字列は条件を満たしません。

Sample Explanation 2

どの部分文字列も条件を満たしません。

Constraints

  • $ 1 \leq N \leq 2 \times 10^5 $
  • $ |S|=N $
  • $ N $ は整数
  • $ S $ は A, B, C の $ 3 $ 種類の文字のみからなる文字列

输入解题思路,AI测评打分。不知道怎么写?

首页