二分答案+验证

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; int N,M,K,A;
int p[+],a[+]; int Num(int B,int A)
{
return (B+)/(A+);
} int main()
{
while(~scanf("%d%d%d",&N,&K,&A)){
scanf("%d",&M);
memset(p,,sizeof p);
for(int i=;i<=M;i++) scanf("%d",&p[i]); memset(a,,sizeof a);
a[N+]=; int min=,max=M+;
int mid=(min+max)/;
int pre=; while()
{
if(mid>=pre)
{
for(int i=pre;i<=mid;i++) a[p[i]]=;
pre=mid;
int len=;
int tot=;
for(int i=;i<=N+;i++)
{
if(a[i]==)
{
tot=tot+Num(len,A);
len=;
}
else len++;
} if(tot>=K) min=mid+;
else max=mid; mid=(min+max)/; } else
{
for(int i=pre;i>mid;i--) a[p[i]]=;
pre=mid;
int len=;
int tot=;
for(int i=;i<=N+;i++)
{
if(a[i]==)
{
tot=tot+Num(len,A);
len=;
}
else len++;
} if(tot>=K) min=mid+;
else max=mid; mid=(min+max)/;
}
if(min==max) break;
}
if(mid==M+) printf("-1\n");
else printf("%d\n",mid);
}
return ;
}

FOJ 2203 单纵大法好的更多相关文章

  1. fzu月赛 2203 单纵大法好 二分

    Accept: 8    Submit: 18Time Limit: 5000 mSec    Memory Limit : 65536 KB  Problem Description 人在做,天在看 ...

  2. FZU 2203 单纵大法好 (二分 && 贪心)

    题意 : 老S最近喜欢上某个搜集战舰的游戏,这个游戏中很重要的一个内容是能编排自己的战舰,通过出击完成任务来获取资源或新的战舰.大家都说老S是一个“直男”,所以他喜欢把战舰排成一条直线.目前老S正准备 ...

  3. python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定!

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python ...

  4. 饭团(1):用NABCD大法为项目奠基

    上一篇文章:提升效率的开发工具 提到高效的开发工具就像催化剂,加速项目开发.这篇文章提到的NABCD大法,就像一份地图,指引项目往正确的方法上发展. 选择比努力更重要.一个项目成功自然离不开码农们的努 ...

  5. Laravel教程 六:表单 Forms

    Laravel教程 六:表单 Forms 此文章为原创文章,未经同意,禁止转载. Form laravel 5.2 之后请使用 laravelcollective/html 替换 illuminate ...

  6. Python大法之从火车余票查询到打造抢Supreme神器

    本文作者:i春秋作家——阿甫哥哥 系列文章专辑:https://bbs.ichunqiu.com/forum.php?mod=collection&action=view&ctid=9 ...

  7. oracle 11g r2 rac到单实例的dg

    oracle 11g r2 rac到单实例的dg 1 主备环境说明 rac环境--primary CentOS release 6.5 (Final)hostname rac1 rac2ip 10.* ...

  8. Laravel 5系列教程六:表单 Forms

    免费视频教程地址https://laravist.com/series/laravel-5-basic 在开始之前,我们把界面先美化一点点先: 首先到https://github.com/JellyB ...

  9. MySQL安装过程中对The error code is 2203的解决方案

    MySQL安装过程中对The error code is 2203的解决方案 1.问题描述 Windows系统安装MySQL遇到The error code is 2203.,具体描述如下 The i ...

随机推荐

  1. Block使用中的一些要注意的地方

    本文主要是阐述一下Block中如何的使用外部变量以及block本身的内存管理. 先定义一个block变量,作为后续的例子中使用: typedef void(^BlockCC)(void); Block ...

  2. 模拟IIC协议时序

    IIC是飞利浦公司开发的两线式串行总线,主要应用在单片机和外围电子器件之间的数据通讯. IIC总线优点是节约总线数,稳定,快速,是目前芯片制造上非常流行的一种总线,大多数单片机已经片内集成了IIC总线 ...

  3. The server instance Witness rejected configure request; read its error log file for more information. The reason 1427, and state 31, can be of use for

    数据库服务器做了镜像之后,发现有错误信息 The server instance Witness rejected configure request; read its error log file ...

  4. FreeMarker 实例

    1.jar包:freemarker-2.3.19.jar,将jar拷贝到lib目录下: 2.新建Web项目:TestFreeMarker 在web目录下新建ftl文件夹: 在ftl下新建模版文件ftl ...

  5. c#设计模式-单例模式(面试题)

    c#设计模式-单例模式 单例模式三种写法: 第一种最简单,但没有考虑线程安全,在多线程时可能会出问题, public class Singleton { private static Singleto ...

  6. PHP实现中文截取无乱码

    字符串的处理是编程中比较常见的,各种编程语言对字符串的处理也提供了大量函数,像php中mb_substr()函数可以实现对中文字符串的截取,如何使用自定义方法实现中文字符串截取无乱码这也是面试经常遇到 ...

  7. java基础算法题

    为了提高自己的代码能力和算法能力,我决定每天学习一道算法题,吸收前辈思想. [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三 ...

  8. php+ajax的三级联动下拉菜单

    封装一个三级联动,就可以在任何页面进行引用了 先写个页面引用一下这个js <head> <meta http-equiv="Content-Type" conte ...

  9. 笔记整理--Linux守护进程

    Linux多进程开发(三)进程创建之守护进程的学习 - _Liang_Happy_Life__Dream - 51CTO技术博客 - Google Chrome (2013/10/11 16:48:2 ...

  10. 缺少对象 WScript 问题解决方法

    方法一: 先把脚本保存起来(保证你的脚本能正确运行),例如命名为test.vbs 然后在QTP写以下脚本就可以正确运行了! Dim oShell Set oShell =CreateObject (& ...