【题目描述】
这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。

为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳 跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走M块岩石(不能 移走起点和终点的岩石)。

【输入】
一行包含三个整数 L,N,M,分别表示起点到终点的距离,起点和终 点之间的岩石数,以及组委会至多移走的岩石数。

接下来N行,每行一个整数,第i行的整数 Di(0 < Di < L)表示第i块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。

【输出】
只包含一个整数,即最短跳跃距离的最大值。
【输入样例】
25 5 2
2
11
14
17
21
【输出样例】
4

这道题呢。。

这种最大值最小的题目,首先应该想到的是二分答案

二分枚举间隔的大小,实测一本通AC
C++代码献上

#include<iostream>
#include<cstdio>
using namespace std;
int leng,n,m,a[50002];
bool check(int x){int last=0;int sum=0;for(int i=1;i<=n;i++){if(a[i]-last>=x){last=a[i];}else{sum++;}}if(leng-last<x){sum++;}return sum<=m;
}
int main(){cin>>leng>>n>>m;int l=1,r=leng;for(int i=1;i<=n;i++){cin>>a[i];}while(r>l){int mid=(l+r+1)>>1;if(check(mid)){                //如果间隔为mid可以实现l=mid;}else{r=mid-1;}}cout<<l;return 0;
}

【15NOIP提高组】跳石头题解相关推荐

  1. 信息学奥赛一本通 1890:【15NOIP提高组】跳石头 | 洛谷 P2678 [NOIP2015 提高组] 跳石头

    [题目链接] ybt 1890:[15NOIP提高组]跳石头 洛谷 P2678 [NOIP2015 提高组] 跳石头 ybt 1247:河中跳房子 OpenJudge NOI 1.11 10:河中跳房 ...

  2. P2678 [NOIP2015 提高组] 跳石头

    P2678 [NOIP2015 提高组] 跳石头 题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选 ...

  3. 【题解】P2678 [NOIP2015 提高组] 跳石头

    题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...

  4. 2015 提高组 跳石头--二分答案

    题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...

  5. 洛谷P2678 [NOIP2015 提高组] 跳石头

    传送门:https://www.luogu.com.cn/problem/P2678 非常同意一个观点:二分答案由二分区间和judge函数构成 二分答案,顾名思义,就是找到答案的范围区间,然后在这个区 ...

  6. Java解P2678 [NOIP2015 提高组] 跳石头,有图有注释,通俗易懂

    01.题目及链接 题目链接:https://www.luogu.com.cn/problem/P2678 02.解题思路 对两个石头之间的最短距离mid进行二分枚举,初始时left=0,right=起 ...

  7. 第一届『Citric杯』NOIP提高组模拟赛 题解

    [官方题解]第一届『Citric杯』NOIP提高组模拟赛 题解 第一题 柠檬超市 这题是本次模拟赛的送分题.做法显然. 但是注意此题有一个陷阱: 注意W和C的规模都是10^9,所以如果直接用doubl ...

  8. 【NOIP2014提高组】石头剪子布

    题目背景 NOIP2014提高组 Day1 试题. 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第 8 集中 ...

  9. [NOIP 2013提高组]转圈游戏 题解

    这题在洛谷上是道黄题,即[普及/提高-] 所以虽然是提高组的,但是其实挺简单的. 我们来看下题面: [NOIP 2013]转圈游戏 刚看到题面作为一个蒟蒻感觉它都不配做黄题,但是直到我看清楚了后发现它 ...

最新文章

  1. 如何用TF Object Detection API训练交通信号灯检测神经网络?
  2. 吴琦:AI研究一路走到“黑”, 从VQA到VLN
  3. Android App监听软键盘按键的三种方式
  4. 使用scipy实现简单神经网络
  5. dos命令操作mysql数据库的常用语句
  6. 7-19 谁先倒 (15 分)
  7. Promise【面试】
  8. html模仿抖音,仿抖音示例
  9. exe 反编译 java_.exe文件怎么反编译为java代码(有木有造的)
  10. 离线安装Ubuntu16.04 NVIDIA1060显卡驱动 CUDA9.0 CUDNN7.0 anaconda TensorFlow-GPU pycharm opencv-python opencv
  11. java emf 转jpg_java – emf到jpg的转换
  12. 计算机excel在三维饼图改字,Excel如何一键生成饼图 Excel如何修改饼图
  13. PolyCluster: Minimum Fragment Disagreement Clustering for Polyploid Phasing 多聚类:用于多倍体的最小碎片不一致聚类...
  14. 2017年是晚立秋,“秋老虎”来袭!
  15. 以前手机应用java咖啡_作为编程语言的“java”怎么就成了咖啡的代称?
  16. python什么字体好看_python docx 中文字体设置的操作方法
  17. 深度强化学习发展现状及展望:万字总结解读83篇文献
  18. Cmn组合数c语言,计算并输出组合数Cmn……不会打……要求递归……谢谢
  19. 2021-09-14指标计算
  20. 如何在html中制作个人简历表单

热门文章

  1. Unity3D 官方文档 UGUI总览 可互动组件的介绍
  2. 高频电流探头示波器电流探头的功能检验和消磁操作
  3. Oracle之创建表、序列、索引和视图
  4. rpm指令及名称详解
  5. 使用Typora+PicGo+Gitee打造全新Markdown博客创作环境
  6. linux 进程内存 dump,linux core dump
  7. linux 修改最大线程,修改linux系统用户最大线程数限制
  8. 一锅排序之第一碗——插入排序
  9. 300分求一个基于云计算的创意
  10. AltDeploy真正Cydia Impactor替代品,通过电脑安装未签名APP技巧