一年一度的“跳石头”比赛又要开始了!

这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 <span id="MathJax-Span-2" class="mrow"><span id="MathJax-Span-3" class="mi">N<span class="MJX_Assistive_MathML"> 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。

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

输入

第一行包含三个整数 <span id="MathJax-Span-8" class="mrow"><span id="MathJax-Span-9" class="mi">L<span id="MathJax-Span-10" class="mo">,<span id="MathJax-Span-11" class="mi">N<span id="MathJax-Span-12" class="mo">,<span id="MathJax-Span-13" class="mi">M,<span class="MJX_Assistive_MathML">分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。保证 <span class="MathJax_Preview"><span id="MathJax-Element-4-Frame" class="MathJax"><span id="MathJax-Span-14" class="math"><span id="MathJax-Span-15" class="mrow"><span id="MathJax-Span-16" class="mi">L<span id="MathJax-Span-17" class="mo">≥<span id="MathJax-Span-18" class="mn">1<span class="MJX_Assistive_MathML"> 且 <span class="MathJax_Preview"><span id="MathJax-Element-5-Frame" class="MathJax"><span id="MathJax-Span-19" class="math"><span id="MathJax-Span-20" class="mrow"><span id="MathJax-Span-21" class="mi">N<span id="MathJax-Span-22" class="mo">≥<span id="MathJax-Span-23" class="mi">M<span id="MathJax-Span-24" class="mo">≥<span id="MathJax-Span-25" class="mn">0<span class="MJX_Assistive_MathML">。

接下来 <span id="MathJax-Span-27" class="mrow"><span id="MathJax-Span-28" class="mi">N<span class="MJX_Assistive_MathML">行,每行一个整数,第 <span class="MathJax_Preview"><span id="MathJax-Element-7-Frame" class="MathJax"><span id="MathJax-Span-29" class="math"><span id="MathJax-Span-30" class="mrow"><span id="MathJax-Span-31" class="mi"><span class="MJX_Assistive_MathML">i 行的整数 <span class="MathJax_Preview"><span id="MathJax-Element-8-Frame" class="MathJax"><span id="MathJax-Span-32" class="math"><span id="MathJax-Span-33" class="mrow"><span id="MathJax-Span-34" class="msubsup"><span id="MathJax-Span-35" class="mi">D<span id="MathJax-Span-36" class="mi">i<span id="MathJax-Span-37" class="texatom"><span id="MathJax-Span-38" class="mrow"><span id="MathJax-Span-39" class="mo">(<span id="MathJax-Span-40" class="mn">0<span id="MathJax-Span-41" class="mo"><<span id="MathJax-Span-42" class="msubsup"><span id="MathJax-Span-43" class="mi">D<span id="MathJax-Span-44" class="mi">i<span id="MathJax-Span-45" class="mo"><<span id="MathJax-Span-46" class="mi">L<span id="MathJax-Span-47" class="texatom"><span id="MathJax-Span-48" class="mrow"><span id="MathJax-Span-49" class="mo">)<span class="MJX_Assistive_MathML">, 表示第 <span class="MathJax_Preview"><span id="MathJax-Element-9-Frame" class="MathJax"><span id="MathJax-Span-50" class="math"><span id="MathJax-Span-51" class="mrow"><span id="MathJax-Span-52" class="mi"><span class="MJX_Assistive_MathML">i 块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。

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

复制

样例输出
4
提示
【输入输出样例说明】
将与起点距离为 2和 14 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。
【限制与约定】

测试点编号 <span id="MathJax-Span-72" class="mrow"><span id="MathJax-Span-73" class="mi">n<span id="MathJax-Span-74" class="mo">,<span id="MathJax-Span-75" class="mi">m<span class="MJX_Assistive_MathML">的规模 <span id="MathJax-Span-77" class="mrow"><span id="MathJax-Span-78" class="mi">L<span class="MJX_Assistive_MathML">的规模
1 <span id="MathJax-Span-80" class="mrow"><span id="MathJax-Span-81" class="mi">n<span id="MathJax-Span-82" class="mo">,<span id="MathJax-Span-83" class="mi">m<span id="MathJax-Span-84" class="mo">≤<span id="MathJax-Span-85" class="mn">10<span class="MJX_Assistive_MathML"><br /> <span id="MathJax-Span-87" class="mrow"><span id="MathJax-Span-88" class="mi">L<span id="MathJax-Span-89" class="mo">≤<span id="MathJax-Span-90" class="msubsup"><span id="MathJax-Span-91" class="mn">10<span id="MathJax-Span-92" class="mn">9
2
3 <span id="MathJax-Span-94" class="mrow"><span id="MathJax-Span-95" class="mi">n<span id="MathJax-Span-96" class="mo">,<span id="MathJax-Span-97" class="mi">m<span id="MathJax-Span-98" class="mo">≤<span id="MathJax-Span-99" class="mn">100<span class="MJX_Assistive_MathML"><br />
4
5
6 <span id="MathJax-Span-101" class="mrow"><span id="MathJax-Span-102" class="mi">n<span id="MathJax-Span-103" class="mo">,<span id="MathJax-Span-104" class="mi">m<span id="MathJax-Span-105" class="mo">≤<span id="MathJax-Span-106" class="mn">50000<span class="MJX_Assistive_MathML"><br />
7
8
9
10
 
 



采用二分的策略
查找符合移走石头数的最小最小跳跃距离
#include<bits/stdc++.h>

using namespace std;

int ste[70000],L,N,M,lt,rt,mid,Ans;

int STS(int x)//
{
int cot=0,lst=0;
for(int i=1;i<=N;++i)
{
if(ste[i]-lst<x)
{
cot++;//如果两石头之间的距离小于x删掉lst这块石头
}
else
{
lst=ste[i];//如果大于x更新lst
}
}
if(cot>M)
{
return 0;
}
return 1;
} int main()
{
cin>>L>>N>>M;
for(int i=1;i<=N;++i)
{
cin>>ste[i];
}
ste[++N]=L; lt=0;
rt=L;
while(lt<=rt)
{
mid=(lt+rt)>>1; if(STS(mid))//二分答案
{
Ans=mid;
lt=mid+1;
}
else
{
rt=mid-1;
}
} cout<<Ans;
return 0;
}
 
 
 

[2015年NOIP提高组] 跳石头的更多相关文章

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

    题目链接 https://www.luogu.org/problemnew/show/P2678 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布 ...

  2. NOIP2015提高组 跳石头 ACM-ICPC2017香港 E(选择/移除+二分答案)

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

  3. [NOIp2015提高组]跳石头

    OJ题号:洛谷2678 思路:贪心+二分. 从前往后扫,一旦这个石头到上一个选的石头的距离小于二分的值就把这块石头移走. #include<cstdio> #include<queu ...

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

    #include<bits/stdc++.h> using namespace std; int l,n,m,a[100010];//与起点的距离 bool check(int d) { ...

  5. NOIP提高组初赛难题总结

    NOIP提高组初赛难题总结 注:笔者开始写本文章时noip初赛新题型还未公布,故会含有一些比较老的内容,敬请谅解. 约定: 若无特殊说明,本文中未知数均为整数 [表达式] 表示:在表达式成立时它的值为 ...

  6. NOIP提高组2004 合并果子题解

    NOIP提高组2004 合并果子题解 描述:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消 ...

  7. 计蒜客 NOIP 提高组模拟竞赛第一试 补记

    计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...

  8. 1043 方格取数 2000 noip 提高组

    1043 方格取数  2000 noip 提高组 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样 ...

  9. [NOIP提高组2018]货币系统

    [TOC] 题目名称:货币系统 来源:2018年NOIP提高组 链接 博客链接 CSDN 洛谷博客 洛谷题解 题目链接 LibreOJ(2951) 洛谷(P5020) 大视野在线评测(1425) 题目 ...

  10. 津津的储蓄计划 NOIp提高组2004

    这个题目当年困扰了我许久,现在来反思一下 本文为博客园ShyButHandsome的原创作品,转载请注明出处 右边有目录,方便快速浏览 题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津\ ...

随机推荐

  1. chunjun同步两个带Kerberos认证的CDH集群数据

    最近在项目中遇到同步两个 CDH 数据文件的需求,调研了一圈,发现 datax 不支持两个 cdh 同时进行 kerberos 认证,因此切换到 chunjun,chunjun 在 kerberos ...

  2. 12月15日内容总结——ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    目录 一.ORM执行SQL语句 二.神奇的双下划线查询 三.ORM外键字段的创建 复习MySQL外键关系 外键字段的创建 1.创建基础表(书籍表.出版社表.作者表.作者详情) 2.确定外键关系 3.O ...

  3. KingbaseES数据库备份初始化错误处理

    KingbaseES使用sys_backup.sh脚本init初始化配置文件常见错误处理: sys_backup.sh脚本按照如下顺序寻找初始化配置文件: [kingbase@postgres ~]$ ...

  4. drf-jwt、simplejwt的使用

    1.接口文档 # 前后端分离 -我们做后端,写接口 -前端做前端,根据接口写app,pc,小程序 -作为后端来讲,我们很清楚,比如登录接口 /api/v1/login/---->post---- ...

  5. Ansible 快速入门到放弃

    Ansible 快速入门到放弃 最是人间留不住,朱颜辞镜花辞树. 1-Ansible 简介 Ansible是一个配置管理和配置工具,它使用SSH 连接到服务器并运行配置好的任务,服务器上只需要开启ss ...

  6. [IOI2013]robots 机器人

    题目传送门 思路 简单题,设函数 \(f_i\) 表示当时间为 \(i\) 时是否能够收拾好所有玩具,则 \(f_i\) 显然是单调的. 所以我们可以考虑二分. 设我们当前二分到 \(x\),我们先把 ...

  7. 钓鱼攻击之:Lnk 文件钓鱼

    钓鱼攻击之:Lnk 文件钓鱼 目录 钓鱼攻击之:Lnk 文件钓鱼 1 Lnk 钓鱼小试牛刀 2 Lnk 图标处理 3 进阶利用方式 3.1 PDF利用 3.2 txt利用,突破Lnk文件目标字符长度限 ...

  8. Atcoder题解:Arc156_c

    数据范围 \(10^5\),但是介绍一个 \(O(n\log n)\) 做法. 我们考虑观察样例,发现样例都很小,而且 \(\text{LCS}\) 的长度都是 \(1\),那么我们就猜答案最多为 \ ...

  9. day06-动态SQL语句

    动态SQL语句 1.基本介绍 官方文档 mybatis – MyBatis 3 | 动态 SQL 为什么需要动态SQL? 动态SQL是MyBatis的强大特性之一 使用 JDBC 或其他类似的框架,根 ...

  10. LeetCode-2049 统计最高分的结点数

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-nodes-with-the-highest-score 题目描述 给你一棵根节点为 ...