Boring count

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

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
 
题意:找出一个字符串里面符合每个字幕出现次数都不大于K次的子串的个数。
题解:数据量达到了10^5,所以O(n^2)肯定不行,所以要用到尺取法。
整个过程分为4布:

    1.初始化左右端点

    2.不断扩大右端点,直到满足条件

    3.如果第二步中无法满足条件,则终止,否则更新结果

    4.将左端点扩大1,然后回到第二步

尺取法的过程是上述,但是,对于这题,我们要做少许改动,因为尺取法的条件终止条件是无法满足条件,但是这题我们首先扩充右端点的话是一直到不满足条件(找到某个字母出

现次数大于K的那个串再break),所以这题我们的条件应该改成r在外层循环,找到无法满足条件的子串后再一直扩充左端点,直到满足条件。接下来怎么算子串个数呢?我也不知道

,discuss区里面这样说的。。

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAicAAAAjCAIAAADAPD21AAAMHklEQVR4nO1cPWsrzRXWX9hWxXt7c3ETMIoStYGQ0kUcX8MGgSGlOheGKwxasJo0AcMV6BYu1CzoFwjjylJhGxksXGxjwhQm1bryYsx1ivmeOTM70ivve8V7xIPRrmdnZ87MnGfOx6hG8gKBQCAQiGpQ+81bgEAgEIjfD5B1EAgEAlEdkHUQCAQCUR2QdRAIBAJRHZB1EAgEAlEdkHUQCAQCUR2QdRAIBAJRHZB1EAgE4veCYRzVoubxFb8zateiqBanVbZh81hnMrhuDYh6WT+YKbjuTtXypNuZxeOC5AWZLlpayVn9gP6LdDvm/frBrH4wH4p6xvN6koE1QLjuTgsyXbQ6iwkd6WSmtpnkpNtR2+lqANSSPIu1y1Ch1ZPMXSCLD7iUnHfApzwtyWJjLKaLlqP8MIHe5S4vhcYlDHdZawBtLdhT9hZrLs3qBzOH3Kze6aIrnx5iXrlLGjJZQUo/+bg7x5GJxXoqpCqP5J2zpXRN8Zp9wvwIpLtRVIuird6Nfv/muBHVGv0L/l0UuOg1VQoZxsaz6W4kHixIHsQ6F71mzXjq1yGEdW5fP9feaxT7L5UKneH5ZPv9c/KcFyQvJtNFrAy/TkLqjDcXfzyQNMCGRF/Gk8E1MPvpHco6/nYaS2Kqvs5Yijbr2PrRUe1KrEOXjc58mhyMxdlNYA1olvQoaCE6RbyeBuiaji5yo5ul3DyrH1x3x+DOgPINrdBQrBrrmC1Uxl1vpD6gVmf1Zrv4yfOgsltaTkobMu7KBo51SiVghzDLSNQJ2n5VemE9klNOdsHeKHwYFQ3jqBYxUPK46DVrUfP4SrIOowTGCoyldkcFyQty1d+KolrUljPkqr8VRbsjrWYNjf5F7v6vhrY58a76O1EURVHU6KvD9z2md9vf+Z1QW+f5ZPt9L9QKez7Zf52FCzd9K6v5Zc8gPLHmjcVp70AVFeO0dURJoZV4JWtjHWPBrNPWMXfoSUZKF5WytgXXSqU2ntM32vrC0ryWOciLqS9qDQhgASjyVKplooC221Johvbx8Jk+EwwFbTRp3vWyDivPLuUksYwqZ7MBrGjrOKW0MeNuWy0wAZcajny34ZM/QGOBPRKFNdYxWPZjWIep/kb/glo2UbTVu7FZh+SUSzgHUKaJU2YPqc40SVoFuepv0ccVW+ei16TcRl+9OxK8pVXCLTCDddIvjGzSL1EUceNp0muy76O2YKPaH//0592//+P03//xi2AJ1pklP2rb4azzslcrrVmxdbT5MRlcG3s9Me/plJIamfrHnLaOrhrEkoBYx17YCqs5WUd/xWq2jr0Cr7tTXUfwdsLeGBW0a1ojSbczH7K/QkTaeg7XPqIYbZ7pY9TXKi0/TErVx3WcQE4wg54tVR4ntnLnLVdGLcDDJnY5nHXKlc6abR2/lDZm3ENZRyJsb6FjumgdwKbeT846CuXQO9zV1rBYZ9TmBMDKQKC0QQs0j68U+pGsI+vkrOOskNlSKkbpd/m9zS2b9EvU/MoY6+Zrg32vRfzjJx4n68ySH8z5VnsbaZc/Tm7Zg8ol99ftv8yS1xE1Ysp9d5J1pmTIt5Y25QBzrjOPO2ytxgO3rQNuOZPMxTrKfDXiRh7WUWHsu5exdTQScrKOv1pgHTp3mqb28bXTpX061khBrFO2FINtHa0vfICmixZkzQwTKV6fh81rlICmid1ss+agXbysNkxKGzLuuuOhNSAlrOMWl5uKfHwf1CPgpfNhEOs8fTu7/3ZbkMnDYf/usP+Q5gXJi/T87rB/d9i/O50Ul+P704lrBNNdRjCmR4vnAgiGEMRg2zQWN1CCEbYO9dqN2jXji1ZY5Rj+rtLUg6v+DmUd8SUvSF58j6Od3g1RWeeXT588FblY52WP0Yk0WVRbZ7TPyIbffD7ZfhsVJE/fKEuF2TpktK+WCXPvUnWjs4I3rmNiSiYfxDqOfxk8CsSZcoN1LH9Iyc7LFYF3xZA9MfMC8lkBguXN01QAH8Ew/wlrsM46HtXjYp3OYmjwiqb7ruPE72ErnWywF9fNJapBAxg36ugES2kjxt00MRnruBh3PHexi5z8y0k+tEdCSkvZOun53dH4ieSPp+ePJH887d8djZ/IbXbUvzudFGTycHiWXeZP387u3MQDA/SwWSkDIOswNx3nJ14DJ5thrDjNRm3+uHjKbeXYGLVtrxpZI+toBag5orCOYsowc0fNC6DQ6Uq3e2bJGyUtwV72WnItv+milWRhOWzaJIZDo2tlHYA1oSXXGmSTMVkb60wXLViV8KB0aYwheL8P+fcLVccZVoUiUs/697qqvMJkjU8y/b000r5YKYcNkOFytg40gW1PoBEAD5DShow7yDpye6F0fDyvdxZDcGjsDUeg5JexXCeDeUuNopWyzuRBGDckLyTZ5I+n/bvDsywd3x+Nn1jJs+zSN3w3xw3N/TUE4zpihriyAOKUWFYRjeJQfmK2jm7EKLXxNyoZB542f21w+6aUdf55+C/P3PWyDk9yM1nn9vUzM2ichRXWedmTZGPSj8464I5JLCQrR7nc1oHN7c5ibbaO6UZ3aCgezuU1ZDGYVMruuFlnmX3fMJnVO9eOhFR/phbgJxTytPa82iNu1vH497PYmaIGah+tedQ1r72X7UsCc9jKM+hWYx3D1vFQS7mUNmjcfR42YM26gjreYI+XdcJ6RBvQTejuRG5foBnCcDm+Pzx/5JePp9ylBlzeZkf9+2+3QAsvek3pUmv0L3iOgMvWMWL7DlunuUXzC0Y0R8AVs1HDOUYegZIy57B7Jr32V/GIx8P2y6dPf/nr3x7++z/H4BUEYp2Xk+SZWTPMdQayDmSjsH9xsgnwsM2SV9lDayvEZgzpduAkzmCHeKitA6sbmHWoe0RTf3X9ToBGk4tHCWwuZes4qE42UsowOD94Be0D3wRS2H1nNcy+ODyTWXwwjxMt+C/eCyp3f+a0F2uydcaym9YZrzApbcq4K3WKvAOV4AEnxHptnaAesRrYWFChlbFOen6nsA6/c5Zd5o+n/YdUXhaUhGAnG4+7UPo55sF/iHV4rlqv7SIS5kMbpfARUYtdSjOntxpNIHM6L8iovaMfD1KyCeT3GskLP99QmKzDAi3pG3emgR6255PtdxHjmSWvIxHXkaGaINYxZowdooTmn1i3dDGwiSvcbgPgxJkzYuS0dfSVbGTCQE6SOtcp5l4V0KrcNTHNhvIQknog6VezDrDqjFeEHmk0PC1+7WOoVM3oVKPNztRzUVLNZjbEyDrFaD7JlMao0viNWQeI61A5u5N9PVLalHG3FpoaYYJZZ822TkiPpouYK5DwuI6wdS7H94xdJg+H54/C8ybvu20dI+5i+bUU1pGp0vJxOJvA/GECkVqd7to5AlC1JC/MpAP9kR1R/qr/pXdDjMxp/t9lT4lKyFwAGrP5vP1eo/zBy++lRMlho5z0fLL/g9UmMw60Swgve9Ijp+yJ2LSDvRz6TwPokxg6mmPXpi7m5c/rGO20VYkkHu5tiMdkoh5CoukMCqFqdSrOB23BOFlnhfjw6lFl727UVCuivFlSalXnI+40Yt48ZZvClRRA3vZcUuUZcg7GnQsAthDOEWgNMmEA2ZnTZVLalHGHRlPPvQxkHdsiDO5FUI+At5SeEr3NjmhchyWwCcvm6duZzGEjeUlchzvZtHi+lk6mnBINyCYoiM462oM2l1z5vHAA64zakfYRJg4/JaoEeDbtF3FkaJQtWigR1tJE1kSxYz/8X87z8M4No1K59xC4Pa2pRpAZMorW0wtTPuNuAVFMPOWxdWSdvh2xO5N7iae0/gJ7Xufh84BfYaEUax9oN4dPmxsAXYk2aD8b8RG2TqAM9RqSudo1/WhOyG/VbMi4GxFW098VwDqyTptXlpW8r0eiXyvlsPlf6sthU31cOnnIoAu9bzrN8oIEsA6rXzFlTPZawdYJxqaxDgKBQPz0SM9drjMG73mdjwJlnd0YMI9IriZMfyyQdRAIBAJRHZB1EAgEAlEdkHUQCAQCUR2QdRAIBAJRHZB1EAgEAlEdkHUQCAQCUR2QdRAIBAJRHZB1EAgEAlEdkHUQCAQCUR2QdRAIBAJRHYJY5w/4wQ9+8IMf/Kzjg7YOAoFAIKoDsg4CgUAgqsP/AUphrt3bxtxeAAAAAElFTkSuQmCC" alt="" />
队友的解释:
aaarticlea/png;base64,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" alt="" />
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <math.h>
using namespace std;
typedef long long LL;
const int N = ;
int Hash[N],k;
char str[N];
bool judge(){
for(int i=;i<;i++){
if(Hash[i]>k) return false;
}
return true;
}
int main()
{
int tcase;
scanf("%d",&tcase);
while(tcase--){
scanf("%s",str);
scanf("%d",&k);
int len = strlen(str);
memset(Hash,,sizeof(Hash));
int l=,r=;
LL cnt=;
while(r<len){
Hash[str[r]-'a']++;
while(l<len&&!judge()){
Hash[str[l]-'a']--;
l++;
}
if(!judge()) break;
//printf("%d %d\n",l,r);
cnt =cnt+(r-l+);
r++;
}
printf("%lld\n",cnt);
}
return ;
}

hdu 5056(尺取法思路题)的更多相关文章

  1. HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online

    题目链接 emmmm...思路是群里群巨聊天讲这题是用尺取法.....emmm然后就没难度了,不过时间上3000多,有点.....盗了个低配本的读入挂发现就降到2800左右, 翻了下,发现神犇Clar ...

  2. POJ 3320 尺取法(基础题)

    Jessica's Reading Problem Description Jessica's a very lovely girl wooed by lots of boys. Recently s ...

  3. HDU 5358 尺取法+枚举

    题意:给一个数列,按如下公式求和. 分析:场上做的时候,傻傻以为是线段树,也没想出题者为啥出log2,就是S(i,j) 的二进制表示的位数.只能说我做题依旧太死板,让求和就按规矩求和,多考虑一下就能发 ...

  4. 【尺取法好题】POJ2566-Bound Found

    [题目大意] 给出一个整数列,求一段子序列之和最接近所给出的t.输出该段子序列之和及左右端点. [思路] ……前缀和比较神奇的想法.一般来说,我们必须要保证数列单调性,才能使用尺取法. 预处理出前i个 ...

  5. poj 2566 Bound Found(尺取法 好题)

    Description Signals of most probably extra-terrestrial origin have been received and digitalized by ...

  6. hdu 2739(尺取法)

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22876 ...

  7. hdu 5701 中位数计数 思路题

    中位数计数 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  8. Codeforces Round #364 (Div. 2) C. They Are Everywhere 尺取法

    C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  9. codeforces #364c They Are Everywhere 尺取法

    C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

随机推荐

  1. hive的常用HQL语句

    1.过滤条件 where .limit. distinct. between and . null. is not nullselect * from emp where sal > 3000; ...

  2. psutil模块的基础使用

    注:Python并没有自带psutil模块,需要自己去安装 安装psutil模块 pip install psutilorpip3 install psutil 一.导入模块 import psuti ...

  3. BFS:Nightmare(可返回路径)

    解题心得: 1.point:关于可以返回路径的BFS的标记方法,并非是简单的0-1,而是可以用时间比较之后判断是否push. 2.queue创建的地点(初始化问题),在全局中创建queue在一次调用B ...

  4. poj 3259 时光穿梭问题 bellman_ford算法

    题意:有n个空地,有m条双向大路,w条时光隧道单向路.问能否回到过去? 思路:判断是否有负环存在,如果有负环存在那么就可以一直小就可以回到过去了 创建源顶点 V到其他顶点的距离d 初始为INF d[1 ...

  5. MySQL创建数据库及用户

    create database ${db_name} default charset utf8 COLLATE utf8_general_ci; grant all on ${db_name}.* t ...

  6. 策略模式—Java实现(转)

    1. 现实需求 客户有了新的需求,这时我们直接新增策略即可,改很少的代码.基本符合我们面向对象原则中的开闭原则(对扩展开放,对修改关系),实现了高内聚低耦合. 2. 策略模式定义 策略模式,又叫算法簇 ...

  7. C# SQL数据库学习时遇到到一些异常

    1一些关于SqlHelper类的异常: DataAdapter.SqlHelper”的类型初始值设定项引发异常. ExecuteNonQuery.SqlHelper”的类型初始值设定项引发异常. Ex ...

  8. mongoTemplate学习笔记

    mongoTemplate的andExpression表达式 Aggregation<Post> agg = Aggregation.newAggregation( Record.clas ...

  9. 【Two Sum】cpp

    题目: Given an array of integers, find two numbers such that they add up to a specific target number. ...

  10. APK无源码使用Robotium简单总结

    1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Proj ...