• hdu----(5056)Boring count(贪心)


    Boring count

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 228    Accepted Submission(s): 90


    Problem Description
    You are given a string S consisting of lowercase letters, and your task is counting the number of substring that the number of each lowercase letter in the substring is no more than K.
     
    Input
    In the first line there is an integer T , indicates the number of test cases.
    For each case, the first line contains a string which only consist of lowercase letters. The second line contains an integer K.

    [Technical Specification]
    1<=T<= 100
    1 <= the length of S <= 100000
    1 <= K <= 100000
     
    Output
    For each case, output a line contains the answer.
     
    Sample Input
    3 abc 1 abcabc 1 abcabc 2
     
    Sample Output
    6 15 21
     
    Source
     
       之前用一种动态规划式方法怎么用怎么TLE ,看了一下解题报告,发现有O(n)算法。觉得很是强大,........哎,还是太弱哇...╮(╯▽╰)╭
    代码:
      
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 using namespace std;
     5 const int maxn=100050;
     6 char str[maxn];
     7 int  sac[27];
     8 int main()
     9 {
    10   int cas,st,pos,k;
    11   scanf("%d",&cas);
    12   while(cas--)
    13   {
    14       memset(sac,0,sizeof(sac));
    15       scanf("%s %d",str,&k);
    16       __int64 ans=0;
    17        st=0;
    18       for(int i=0;str[i]!='';i++)
    19     {
    20         pos=str[i]-'a';
    21         sac[pos]++;
    22         if(sac[pos]>k)
    23         {
    24             while(str[st]!=str[i])
    25             {
    26                 sac[str[st]-'a']--;
    27                 st++;
    28             }
    29             sac[str[st]-'a']--;
    30                 st++;
    31         }
    32         ans+=(i-st+1);
    33     }
    34     printf("%I64d
    ",ans);
    35   }
    36  return 0;
    37 }
    View Code
  • 相关阅读:
    杭电 HDU 1279 验证角谷猜想
    C# SQL 整表插入
    iframe截取站点的部分内容
    Thrift安装介绍
    赵雅智_Swift(3)_swift凝视
    Android API 文档 离线秒开方法
    xml文件的根节点layout_width或者layout_height设置无效果的原因分析
    函数指针使用演示样例(參考Linux-内核代码)
    eclipse中的项目受svn管理
    野人与传教士问题
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3999518.html
Copyright © 2020-2023  润新知