首页 > 其他 > 详细

【Codeforces 258D】 Count Good Substrings

时间:2018-07-11 22:31:37      阅读:155      评论:0      收藏:0      [点我收藏+]

【题目链接】

           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\n",ans1,ans2);
        
        return 0;
    
}

 

【Codeforces 258D】 Count Good Substrings

原文:https://www.cnblogs.com/evenbao/p/9296812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!