CF1238D.AB-string

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The string t1t2tkt_1t_2 \dots t_k is good if each letter of this string belongs to at least one palindrome of length greater than 1.

A palindrome is a string that reads the same backward as forward. For example, the strings A, BAB, ABBA, BAABBBAAB are palindromes, but the strings AB, ABBBAA, BBBA are not.

Here are some examples of good strings:

  • tt = AABBB (letters t1t_1 , t2t_2 belong to palindrome t1t2t_1 \dots t_2 and letters t3t_3 , t4t_4 , t5t_5 belong to palindrome t3t5t_3 \dots t_5 );
  • tt = ABAA (letters t1t_1 , t2t_2 , t3t_3 belong to palindrome t1t3t_1 \dots t_3 and letter t4t_4 belongs to palindrome t3t4t_3 \dots t_4 );
  • tt = AAAAA (all letters belong to palindrome t1t5t_1 \dots t_5 );

You are given a string ss of length nn , consisting of only letters A and B.

You have to calculate the number of good substrings of string ss .

输入格式

The first line contains one integer nn ( 1n31051 \le n \le 3 \cdot 10^5 ) — the length of the string ss .

The second line contains the string ss , consisting of letters A and B.

输出格式

Print one integer — the number of good substrings of string ss .

输入输出样例

  • 输入#1

    5
    AABBB
    

    输出#1

    6
    
  • 输入#2

    3
    AAA
    

    输出#2

    3
    
  • 输入#3

    7
    AAABABB
    

    输出#3

    15
    

说明/提示

In the first test case there are six good substrings: s1s2s_1 \dots s_2 , s1s4s_1 \dots s_4 , s1s5s_1 \dots s_5 , s3s4s_3 \dots s_4 , s3s5s_3 \dots s_5 and s4s5s_4 \dots s_5 .

In the second test case there are three good substrings: s1s2s_1 \dots s_2 , s1s3s_1 \dots s_3 and s2s3s_2 \dots s_3 .

首页