HDU 5056 Boring count(数学)
2017-05-09 14:03
357 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5056
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 2Sample Output
6 15 21Source BestCoder Round #11 (Div. 2)
官方题解:
代码例如以下:
#include <cstdio> #include <cstring> const int maxn = 100017; int main() { int t; char str[maxn]; int st[27]; int k; scanf("%d",&t); while(t--) { memset(st,0,sizeof(st)); scanf("%s",str); scanf("%d",&k); __int64 ans = 0; int len = strlen(str); int startpos = 0; for(int i = 0; i < len; i++) { int tt = str[i] -'a'; st[tt]++; if(st[tt] > k) { while(str[startpos]!=str[i]) { st[str[startpos]-'a']--; startpos++; } st[str[startpos]-'a']--; startpos++; } ans+=i-startpos+1; } printf("%I64d\n",ans); } return 0; }
相关文章推荐
- HDU 5056 Boring count(数学)
- HDU 5056 Boring count(不超过k个字符的子串个数)
- HDU 5056 Boring count(不超过k个字符的子串个数)
- HDU 5056 Boring count
- hdu 5056 Boring count
- HDU 5056 Boring count 字符串处统计+滑动窗口法
- HDU 5056 Boring count(BestCoder Round #11 (Div. 2))
- hdu 5056 Boring count (类似单调队列的做法。。)
- hdu 5056 Boring count ( 窗口转移法)
- hdu 5056 Boring count(尺取法)
- HDU 5056 Boring Count --统计
- HDU 5056 - Boring count
- BestCoder11(Div2) 1003 Boring count (hdu 5056) 解题报告
- HDU 5056 Boring count(窗口滑动法)
- HDU 5056 Boring count(窗口滑动法或尺缩法)
- HDU 5056 Boring count(滑动窗口)
- hdu----(5056)Boring count(贪心)
- HDU 5056 Boring Count --统计
- HDU 5056 Boring count(贪心)
- hdu 5056 Boring count (窗体滑动)