HDU5672(尺取法)
来源:互联网 发布:长虹网络电视 编辑:程序博客网 时间:2024/04/28 22:05
HDU5672-String
#include<cstdio>#include<cstring>typedef long long ll;using namespace std;char str[1000005];int main(){ int T,k,t; ll ans; scanf("%d",&T); int vis[30]; int l,r,flag,len; while(T--) { scanf("%s%d",str,&k); l=r=0;//初始化左右指针 flag=0; ans=0; len=strlen(str); memset(vis,0,sizeof(vis)); while(l<=len-k) { while(flag<k&&r<len) { t=str[r]-'a'; if(!vis[t]) flag++;//当前已有flag个不同字符 vis[t]++; r++; }//寻找以l为起点的最小子串 if(flag==k) ans+=len-r+1;//包含最小子串的子串都满足条件 t=str[l]-'a'; vis[t]--; if(!vis[t]) flag--; l++;//起点右移 } printf("%lld\n",ans); } return 0;}
0 0
- HDU5672(尺取法)
- hdu5672 String(尺取法)
- hdu5672 string(尺取法)
- hdu5672尺取法
- HDU5672 尺取
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- 【尺取法】
- 尺取法
- 尺取法
- 尺取法
- 尺取法
- CURL库详解
- github添加远程库和本地库同步操作
- 啊,第一次月赛天杀的散步题目
- android 6.0 开发中 遇到权限授予方式变更的问题
- C++按行读取文件内容,储存在数组中
- HDU5672(尺取法)
- 详解wait和waitpid函数
- javascript中简单的表单提交判断条件
- Fragment---碎片
- Matlab基本命令练习
- HDU1358 Period
- 删除module
- Runtime全方位装逼指南
- Android 编码规范指南