Codeforces 258D Count Good Substrings

Posted evenbao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 258D Count Good Substrings相关的知识,希望对你有一定的参考价值。

【题目链接】

           http://codeforces.com/contest/451/problem/D

【算法】

           合并后的字符串一定是形如"ababa","babab",ab交替出现的字符串

           那么,判断一段是否为回文,只需判断首尾字符是否相等即可

【代码】

          

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;

int i;
long long ans1,ans2;
char s[MAXN];
long long sum[3][3];

int main() 
{
        
        scanf("%s",s+1);
        for (i = 1; i <= strlen(s + 1); i++)
        {
                sum[i%2][s[i]-a]++;
                if (i % 2 == 0)
                {
                        ans1 += sum[1][s[i]-a];
                        ans2 += sum[0][s[i]-a];
                } else
                {
                        ans1 += sum[0][s[i]-a];
                        ans2 += sum[1][s[i]-a];
                }        
        }
        printf("%I64d %I64d
",ans1,ans2);
        
        return 0;
    
}

 

以上是关于Codeforces 258D Count Good Substrings的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces258D Little Elephant and Broken Sorting

CF258D Little Elephant and Broken Sorting (带技巧的DP)

Codeforces 1270C 思维题

Count The Blocks CodeForces - 1327E oeis

Codeforces 1327 E. Count The Blocks

Codeforces 1312D. Count the Arrays