Problem 1

比那名居天子(tenshi.cpp/c/pas)

题目描述

在幻想乡,比那名居天子是管理着『要石』的天人。『要石』是能够引发和镇压地震的存在,当然也可以用来改变地形。因为在幻想乡引发地震,而被灵梦等人教训了之后,天子不得不使用『要石』来修复地面。幻想乡可以视为长度为N个格子的一条横轴,其中有些格子的土地由于地震被破坏(记为1),有些格子则没有(记为0)。每次使用『要石』,可以把一段长度为L的格子全部修复完成(即将1变为0,L覆盖的范围可以超出地图),当然L越大,使用时所花费的灵力也就越多。天子希望最多使用K次『要石』就将所有被破坏的土地全部修复完成(即将1全部变为0),并且花费尽可能小的灵力。她想知道能够达到这个目的的L最小是多少。

输入格式

第1行:2个整数,N, K

第2行:1个 01 串,长度为 N

输出格式

第1行:1个整数,L 的最小值

输入样例

10 3

0101111011

输出样例

3

样例解释

0101111011 > 0000111011 > 00000000011 > 0000000000

数据范围

对于 60%的数据:1 ≤ N,K ≤ 5,000

对于 100%的数据:1 ≤ N,K ≤ 500,000

二分题,做了好久,错了好久。

屠龙宝刀点击就送

运行最快 (偷笑)

#include <ctype.h>
#include <cstring>
#include <cstdio>
void read(int &x)
{
x=;bool f=;
char ch=getchar();
while(!isdigit(ch)) ch=getchar();
while(isdigit(ch)) {x=x*+ch-'';ch=getchar();}
}
int ans=,n,k,len;
char str[];
bool judge(int L)
{
int z=;
for(int i=;i<=len;i++)
{
if(str[i]=='') i+=L-,z++;
if(z>k) return false;
// else i++;
}
return true;
}
int min(int a,int b){return a>b?b:a;}
int main()
{
freopen("tenshi.in","r",stdin);
freopen("tenshi.out","w",stdout);
read(n);read(k);
scanf("%s",str+);
len=strlen(str+);
int l=,r=n*;
while(l<=r)
{
int mid=(l+r)>>;
if(judge(mid))
{
ans=mid;
r=mid-;
}
else l=mid+;
}
printf("%d",ans);
return ;
}

最新文章

  1. Beta阶段第八次Scrum Meeting
  2. 用java下载hdfs文件报NullPointerException
  3. Thinkphp回顾之(四)查询方法深入学习
  4. 上四条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地
  5. js方法之间的调用之——传参方法
  6. Android线程管理(二)&mdash;&mdash;ActivityThread
  7. G - Just a Hook
  8. .net平台是什么?.net平台的组成,.net平台的好处
  9. Android 数据过滤器:Filter
  10. BMP图片格式模型(2)
  11. [补档][ZJOI2007] 报表统计
  12. [angularjs] angularjs系列笔记(八)事件
  13. mysql如何在一张表中插入一万条数据?(用存储过程解决)
  14. 三、TortoiseGit之配置密钥
  15. redis 五大数据类型之list篇
  16. PHP:判断客户端是否使用代理服务器及其匿名级别
  17. Centos6.5安装ansible2.6.3
  18. 你可能不知道UED和UCD
  19. 阿里云Maven仓库配置,Maven镜像配置
  20. oracle记录错误存储过程

热门文章

  1. BZOJ_4383_[POI2015]Pustynia_线段树优化建图+拓扑排序
  2. 51Nod 1717
  3. 【POJ 3580】 SuperMemo
  4. codevs 等差数列
  5. 文件的创建,读取,写入,修改,删除---python入门
  6. 装饰器模式(Decorator) C++
  7. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 14. ASP.NET Core Identity 入门
  8. Android 布局之GridLayout(转载)
  9. DB Link 去除域名
  10. Codeforces - 702A - Maximum Increase - 简单dp