Description

985有一个长度为n的0-1串,已知他最多可以修改k次(每次修改一个字符即0->1 或者 1->0),他想知道连续的全1子串最长是多少。

Input

第一行输入一个整数t,代表有t组测试数据。
每组数据第一行输入两个整数n,k分别代笔上面的信息。
注:1 <= t <= 12,1 <= n <= 100000,0 <= k <= 100000。

Output

一个整数代表可以得到的最大长度。

Sample Input

2
6 3
010100
6 2
010100

Sample Output

5 4
重新的理解了 二分函数   感觉挺重要的    光为了理解那个函数的意思就编译了好久   不过最后还是  写了出来
q=upper_bound(sum,sum+len,sum[i]-s+n)-sum; 好比(1,2,2,4) upper_bound(2)==3;3表示的是下标  也就是数字4的位置
q=lower_bound(sum,sum+len,sum[i]-s+n)-sum;好比(1,2,2,4) lower_bound(2)==1;1表示的是下标  也就是第一个数字2的位置
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<math.h>
using namespace std;
#define INF 0x3f3f3f3f
#define N 102311
int sum[N],dp[N];
char str[N];
int main()
{/*int a[123]={1,1,1,2,2,2,3,4};写这些主要是为了编译二分函数  int n=8,w;while(scanf("%d",&w)!=EOF){int q=upper_bound(a,a+n,w)-a;printf("%d\n",q);}*/int T,len,n;scanf("%d",&T);while(T--){sum[0]=0;scanf("%d%d%s",&len,&n,str);for(int i=0;i<len;i++){if(i==0){if(str[i]=='0')sum[i]=1;elsesum[i]=0;continue;}if(str[i]=='0')sum[i]=sum[i-1]+1;elsesum[i]=sum[i-1];}int ans=0;for(int i=0;i<len;i++){int s;if(str[i]=='0')s=1;else s=0;int q=upper_bound(sum,sum+len,sum[i]-s+n)-sum;dp[i]=q-i;ans=max(ans,dp[i]);///printf("%d\n",dp[i]);
        }printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/a719525932/p/5735634.html

http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1895 二分相关推荐

  1. 2017轻工业校赛 维克兹的进制转换 https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134

    因为在每个数只能有二进制构成  即5有21,101折两种方式  不同于2进制的方式为数字最大 可以为2 所以在末尾只有0,1,2   如果数字为奇数  末尾必定为1  所以我们理解为n/2*2+1即为 ...

  2. 2272: 又是01串(http://acm.zzuli.edu.cn/problem.php?id=2272csrf=nr0h1HsiO5WDrN3Jk1j9aUmgYOdn7QAV)

    题目描述 给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s0..k−1中的0的个数与子串sk..n−1中1的个数相等. 注意: (1) 如果k = ...

  3. PKU ACM 1258 Agri-Net http://acm.pku.edu.cn/JudgeOnline/problem?id=1258

    熟悉了prim算法后这样的题目在十分钟内真的可以解决!最小生成树,prim真的很有用! #include <iostream> using namespace std; const int ...

  4. pku acm 2140 Herd Sums http://acm.pku.edu.cn/JudgeOnline/problem?id=2140

    2140代码短小精悍:#include<stdio.h> int main() { int cnt=0,i; long s; scanf("%ld",&s); ...

  5. ACM PKU 2663 Tri Tiling http://acm.pku.edu.cn/JudgeOnline/problem?id=2663

    这题开始没有思路,后来看了流牛的解题报告才写出来: 递推公式我写一下: sign[i]         =        1           (当i == 0 时,具体为什么我也没有具体的说明方法 ...

  6. ACM PKU 2559 Largest Rectangle in a Histogram http://acm.pku.edu.cn/JudgeOnline/problem?id=2559

    关于覆盖,用DP是一种很不错的解决方法,时效也很不错.... 这题目把图一画就很明确了,没有说明的必要了. #include <iostream> using namespace std; ...

  7. ACM PKU 1111 Image Perimeters http://acm.pku.edu.cn/JudgeOnline/problem?id=1111

    广搜永远记住,下标不要错,COPY时一定要记得改下标: #include <iostream> #include <queue> using namespace std;cha ...

  8. ACM PKU 1019 Number Sequence http://acm.pku.edu.cn/JudgeOnline/problem?id=1019

    #include <iostream> #include <cmath> using namespace std;int Len(int n) // 求数字的长度函数: {re ...

  9. 小新同学的双11点赞活动(acm.zzuli.edu.cn)

    文章目录 Description双11快到了,小新也参加了淘宝的点赞活动,并且作为一个非常好胜的人,所以对于这个活动,他都不想输给别人. 但是目前他只有0个赞,而对手已经有了k个赞了. 他发动了好友的 ...

最新文章

  1. 12.MySql关于获取当前时间的三个函数
  2. python使用fpdf创建pdf文件包含:页眉、页脚并嵌入logo图片、设置使用中文字体
  3. 迁移学习算法之TrAdaBoost ——本质上是在用不同分布的训练数据,训练出一个分类器...
  4. [K/3Cloud] 创建一个单据转换插件
  5. jenkins创建job不能用中文问题
  6. Sublime Text 3 快捷键总结
  7. AXI_05 AXI_FULL_IP的设计与验证
  8. AUTOSAR从入门到精通100讲(二十七)-DoIP远程诊断及与UdsOnCan的比较
  9. 谷歌浏览器安卓_谷歌终于动手了,安卓将在国内收费,免费的午餐到头了!
  10. windows操作系统_windows操作系统如何格式化u盘【操作方法】
  11. [20180503]珅与分隔符.txt
  12. js open 和close 方法
  13. opengl 光线追踪_Vulkan的视频编解码支持将于2020年上半年加入,光线追踪也在路上...
  14. 阿里HR:你会使用selenium爬取工具? 某人:那不是随随便便吗,不止会用 还会爬取掘金小册呢!
  15. 初见,Devexpress
  16. ps 毛发 边缘_PS技巧:毛发抠图调整边缘法
  17. eclipse导入项目jsp页面报错完美解决
  18. parallelStream数据丢失问题
  19. 001-三阶魔方-概述及层先法
  20. socket套接字各个接口

热门文章

  1. python脚本变成exe_Python脚本转exe文件
  2. java newdirectorystream_Path、Paths和DirectoryStreamT
  3. mysql独立服务器_独立服务器linux系统mysql设置方法
  4. 设计费收费标准2002修订_酒店装修设计费收费标准,酒店装修设计效果图
  5. 虚拟化服务器故障切换,虚拟机故障转移
  6. tensorflow gpu python3.5_Win10+Anaconda3下tensorflow-gpu环境配置
  7. 云计算比本地计算机可靠,1-云计算复习题
  8. mysql datetime 转date_详解MySQL如何按表创建千万级的压测数据
  9. MySQL部署2002_MySQL入门02-MySQL二进制版本快速部署
  10. elasticsearch 7.8.0 kibana 7.8.0安装部署