小ho的01串
来源:互联网 发布:学c语言需要什么基础 编辑:程序博客网 时间:2024/04/29 17:38
点击打开链接
小ho的01串 [字符串]
时间限制: 1 Sec 内存限制: 128 MB提交: 270 解决: 132 统计
题目描述
有一个由0
和1
组成的字符串,它好长呀--------一望无际
恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见0
和1
也是很头疼的,
现在他的老师想让他计算出来包含K
个1
的子串有多少个-----呀,头要炸了!!!
小ho知道你的数学棒棒哒,所以来找你帮忙了。
输入
第一行是一个数K
。
第二行是一个字符串str
。
0 < |str| ≤ 106
输出
一个数S
,代表了满足条件的个数。
样例输入
2101010
样例输出
6
题解:这题我的想法是直接用两层for循环直接枚举,(按照理论上来说这里不能用两层for循环,因为字符数组的长度是10的6次方,两层for循环的时间复杂度是O(n^2)很明显是会超时的)下面是两层for的代码:
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;char str[1000005];int main(){int T;scanf("%d",&T);int i,j,len,s=0,p=0;scanf("%s",str);len = strlen(str);for(i = 0 ; i < len ; i++ ){s=0;for(j = i ; j < len ; j++){if(str[j]=='1')s++;if(s==T)p++;if(s>T)break;}}printf("%d\n",p);return 0;//这种方法理论上是不对,但是因为后台数据不足,这个也是ac的。}
下面这个是标准代码:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>#include<list>#include<cmath>#include<vector>using namespace std;const int maxn=1000010;char str[maxn];long long num[maxn];int main(){ long long ans=0,k,cnt=1; scanf("%lld%s",&k,str); long long l=1,r,len=strlen(str),temp=0;num[0]=-1; if(k==0){ l=0; for(long long i=0;i<len;++i){ if(str[i]=='1'){ r=i-l;l=i+1; ans=ans+r*(r+1)/2; } } r=(len-l); ans=ans+r*(r+1)/2; printf("%d\n",ans); return 0; } for(long long i=0;i<len;++i){ if(str[i]=='1'){ temp++;num[cnt++]=i; } if(temp==k+1){ ans=ans+(num[l]-num[l-1])*(num[cnt-1]-num[cnt-2]);l++;temp--; } } if(temp==k){ ans=ans+(num[l]-num[l-1])*(len-num[cnt-1]); } printf("%d\n",ans); return 0;}
阅读全文
0 0
- 小ho的01串
- 小ho的01串
- 小ho的01串
- 小ho的01串(枚举)
- 问题 F: 小ho的01串
- 1415: 小ho的01串 [字符串]
- 1415: 小ho的01串 [字符串]
- HPUOJ 小ho的01串
- 小ho的01串 [字符串]
- HPU1415--小ho的01串
- 多校联萌(三)小ho的01串
- HPU 1415 小ho的01串 (字符串)
- HPUoj 1415: 小ho的01串 [字符串]
- hpu1415——小ho的01串
- 【HPU 1415: 小ho的01串】& 尺取
- 河南省多校连萌(三)【问题 F: 小ho的01串】
- HPU1415 小ho的01串(字符串,河南省多校连萌(三))
- HPUoj 1415(小ho的0 1串)
- HTML 颜色名对照表
- [docker]docker-compose跑zk集群
- java实训第十五天8/15
- javaScript的三种实现顺序控制的编程实践
- 第三节 ElasticSearch数据导入之Logstash
- 小ho的01串
- Dockerfile基本语法结构和指令用法详解
- SpringMVC中的@RequestMapping注解中的@PathVariable注解
- Regex—匹配特定数字前面的一个单词
- 性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(二)
- selenium启动Firefox示例
- JavaScript中如何将html字符串转化为Jquery对象或者Dom对象
- Java中自定义类加载器(双亲委派机制)
- Sumsets(规律题)