码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5056Boring count

时间:2014-09-29 11:45:47      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:acm   algorithm   算法   

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5056

题目大意:就是问在子串中每个小写字母出现次数不超过k次的个数,注意子串是连续的子串。。。。

思路:

bubuko.com,布布扣

code:

<span style="font-size:18px;">#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>

using namespace std;

char str[100010];
int cnt[30];
int main()
{
    int T,k,i;
    scanf("%d",&T);
    while(T--)
    {
        memset(str,0,sizeof(str));
        memset(cnt,0,sizeof(cnt));
        scanf("%s%d",str,&k);
        int len=strlen(str);
        int starPos=0;
        __int64 ans=0;
        for(i=0;i<len;i++)
        {
            cnt[str[i]-'a']++;
            if(cnt[str[i]-'a']>k)
            {
                while(str[starPos]!=str[i])
                {
                    cnt[str[starPos]-'a']--;
                    starPos++;
                }
                cnt[str[starPos]-'a']--;
                starPos++;
            }
            printf("AAA %d %d\n",i,starPos);
            ans+=(i-starPos+1);
        }
        printf("%I64d\n",ans);
    }
    return 0;
}
</span>


hdu 5056Boring count

标签:acm   algorithm   算法   

原文地址:http://blog.csdn.net/u010304217/article/details/39666249

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!