当前位置: 首页 > news >正文

东莞网站建设公司招聘信息现在没人做网站了

东莞网站建设公司招聘信息,现在没人做网站了,江西住房和城乡建设信息网站,wordpress站点logo设置洛谷 P2678 [NOIP2015 提高组] 跳石头 (Java) 传送门:P2678 [NOIP2015 提高组] 跳石头 题目: [NOIP2015 提高组] 跳石头 题目背景 NOIP2015 Day2T1 题目描述 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行&…

洛谷 P2678 [NOIP2015 提高组] 跳石头 (Java)

传送门:P2678 [NOIP2015 提高组] 跳石头

题目:

[NOIP2015 提高组] 跳石头

题目背景

NOIP2015 Day2T1

题目描述

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

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

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

输入格式

第一行包含三个整数 L , N , M L,N,M L,N,M,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。保证 L ≥ 1 L \geq 1 L1 N ≥ M ≥ 0 N \geq M \geq 0 NM0

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

输出格式

一个整数,即最短跳跃距离的最大值。

样例 #1

样例输入 #1

25 5 2 
2
11
14
17 
21

样例输出 #1

4

提示

输入输出样例 1 说明

将与起点距离为 2 2 2 14 14 14 的两个岩石移走后,最短的跳跃距离为 4 4 4(从与起点距离 17 17 17 的岩石跳到距离 21 21 21 的岩石,或者从距离 21 21 21 的岩石跳到终点)。

数据规模与约定

对于 20 % 20\% 20%的数据, 0 ≤ M ≤ N ≤ 10 0 \le M \le N \le 10 0MN10
对于 50 % 50\% 50% 的数据, 0 ≤ M ≤ N ≤ 100 0 \le M \le N \le 100 0MN100
对于 100 % 100\% 100% 的数据, 0 ≤ M ≤ N ≤ 50000 , 1 ≤ L ≤ 1 0 9 0 \le M \le N \le 50000,1 \le L \le 10^9 0MN50000,1L109

分析:

题目要我们求最短跳跃距离(1 <= ans <= L),我们可以二分起点到终点的长度获得答案。

在每次二分时,我们定义now(当前所在的位置)和step(搬走石头的数量)。

如果每次跳跃 a[i]-now 的距离 大于 mid,说明 a[i] 这块石头需要搬走;否则我们就可以跳到这块石头上,更新 now 。

如果step 大于 m ,说明需要搬走的石头太多,我们不能跳跃这么多,缩小跳跃距离,更新r = mid-1;否则,需要搬走的石头 <= m,说明我们至少可以跳跃这么多 ans = mid,继续搜索更大跳跃距离,更新 l = mid +1。

代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {   Scanner sc = new Scanner(System.in);int L = sc.nextInt();int n = sc.nextInt();int m = sc.nextInt();int [] a = new int [n+10];for(int i = 1;i <= n;i++) a[i] = sc.nextInt();a[n+1] = L;int l = 0;int r = L;int ans = 0;// 二分获得跳跃的最小距离while(l <= r) {// 跳跃的距离int mid = (l+r)/2;// now表示我现在的位置,step表示搬走石头的数量int now = 0;int step = 0;for(int i = 1;i <= n+1;i++) {// 二分小于mid,这块石头要搬走if(a[i]-now < mid) step++;// 跳到这块石头上else now = a[i];}// 搬走的石头大于m,不可以if(step > m) {r = mid-1;}else {l = mid+1;ans = mid;}//System.out.printf("l r ans:%d %d %d\n",l,r,ans);}System.out.println(ans);}
}
http://www.yayakq.cn/news/597217/

相关文章:

  • 网站想做个链接怎么做的中国工商注册网官网查询
  • 阜城县网站建设报价淘宝运营招聘
  • 沈阳开发网站的地方wordpress的cdn加速
  • 成都网站建设新闻wordpress 同步 博客园
  • 广告联盟的网站怎么做教育网站建设平台
  • 网站开发者工具的网络选项销售网站是什么
  • 长城建设投资有限公司网站移动端网站设计前有哪些准备工作?
  • 企业网站哪个好30天网站建设实录视频云盘
  • 福州企业网站模板建站网站排名优化教程
  • 企业网站的网址有哪些wordpress多说插件下载地址
  • 建个地方门户网站要多少钱wordpress 主题模板下载失败
  • 网易企业邮箱怎么收费seo标题优化关键词
  • 义乌市建设局官方网站莱芜雪野湖国际会议中心
  • 哪里有可以做空比特币的网站昔阳做网站公司
  • 南宫28在线注册网站虚拟主机 多个网站
  • 深圳优秀网站设计wordpress重定向地址不匹配
  • 上海专业做网站建设如何做淘宝关键词搜索
  • html5优秀企业网站阜阳做网站的网络公司
  • 上海模板网站微信小程序开发常见问题
  • 网站建设优化兼职app开发用到的技术
  • 手机端网站关键字排名做网站如何适应分辨率
  • 网站服务器共享的 vps微商城平台排行榜前十名
  • 做网站需要美工吗全屋定制设计培训学校哪里有
  • 兰州网站外包菜鸟教程网站开发
  • 福建建设银行招聘网站最全的wordpress 中文手册
  • 电龙网站建设两个wordpress互通
  • 做网站要钱吗?四川城乡建设网站首页
  • 南京市网站建设公司建湖做网站的公司
  • 地情网站建设方案wordpress 父页面跳转
  • 网站开发 质量管理wordpress icp