【题意】

牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离,

现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值。

Sample Input

25 5 2
2
14
11
21
17

Sample Output

4分析:其实这个和Agressive Cows这道题差不多,只要把起点与终点加入到数组中,然后留下找(N-M+2)个位置之间的最大值,类比与Agressive cows的M;具体题解可看Agressive cows

AC代码:

#include<stdio.h>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int n,m,l;
int a[51000];
bool cmp (int x,int y)
{return x<y;
}
bool C(int d)
{int last=0;for(int i=1 ; i<(n-m+2) ; i++){int crt=last+1;while(crt<n+2&&a[crt]-a[last]<d)crt++;if(crt==n+2)return false;last = crt;}return true;}
int main()
{scanf("%d%d%d",&l,&n,&m);for(int i = 1 ; i <= n ; i++)scanf("%d",&a[i]);a[n+1]=l;sort(a,a+n+1,cmp);int en=INF;int st=0;while(en-st>1){int mid=(st+en)/2;if(C(mid))st=mid;elseen=mid;}printf("%d\n",(st+en)/2);return 0;
}

View Code

转载于:https://www.cnblogs.com/shuaihui520/p/8929049.html

POJ 3258:River Hopscotch (最大化最小值)相关推荐

  1. POJ 3258 River Hopscotch(二分查找答案)

    一个不错的二分,注释在代码里 #include <stdio.h> #include <cstring> #include <algorithm> #include ...

  2. POJ 3258 River Hopscotch 经典二分

    点击打开链接 River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6189   Accepted: ...

  3. POJ 3258 River Hopscotch (二分)

    题目地址:POJ 3258 水题.二分距离,判断是否可行.需要注意的是最后一个,因为最后一个是没法移除的,所以还要倒着判断一下. 代码如下: #include <iostream> #in ...

  4. poj 3258 River Hopscotch 二分答案

    题目地址: http://poj.org/problem?id=3258 题目思路: 首先,如果只减少一部,那么一定要干掉最短的那段距离(一旦不消灭,最小的还是它,并没有达到使最小值取最大的理想情况) ...

  5. POJ 3258 -- River Hopscotch(二分)

    题目链接 Description Every year the cows hold an event featuring a peculiar version of hopscotch that in ...

  6. POJ - 3258 River Hopscotch(二分水题)

    题目链接:点击查看 题目大意:给出n个石头,其位置排列在一个数轴上,起点为0,终点为ed(题目会给出),我们设两两石头之间的间距的最小值为ans,问在移走m块石头之后,ans的最大值是多少 题目分析: ...

  7. poj 3258 River Hopscotch 【二分】

    题目真是不好读,大意例如以下(知道题意就非常好解了) 大致题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都有唯一的距 ...

  8. POJ 3258 River Hopscotch

    题目链接:https://vjudge.net/problem/POJ-3258 题目大意 给定数轴上一个起点 0,终点 L,以及中间 N 个不同的点,现准备删除中间 N 个点中的 M 个,使得剩下来 ...

  9. poj 3258 River Hopscotch 二分

    1 /** 2 大意:给定n个点,删除其中的m个点,其中两点之间距离最小的最大值 3 思路: 二分最小值的最大值---〉t,若有距离小于t,则可以将前面的节点删除:若节点大于t,则继续往下查看 4 若 ...

最新文章

  1. dlib 获取人脸姿态 6个关键点
  2. Spring Boot配置Mysql后无法根据java实体类生成table
  3. OracleOraDb11g_home1TNSListener 服务启动后停止 某些服务在未由其他服务或程序使用时将自动停止
  4. 解决Windows上编译PHP7.1拓展的错误
  5. layui table reload post请求_基于Layui组件封装的后台模版
  6. springboot配置手动提交_kafka教程-springboot消费者-手动提交offset
  7. Mac 版 QQ 音乐上线离线提示音的方法?
  8. Linux非root用户如何使用80端口启动程序
  9. php缓存memclear,PHP内存缓存加速功能memcached安装与用法
  10. SAP MM模块之批次管理
  11. jvm异常生成文件hs_err_pid[pid].log
  12. 美团校园招聘笔试例题一---C语言
  13. 曾被尊称为“教父级”人物的郭盛华,现在到底怎么样了?
  14. 我的RHCE认证考试经历
  15. AutoCAD系统变量大全
  16. LED MEO GTO GEO IGSO SSO概念
  17. JLINK在线调试——软件调试方法与技巧
  18. WPF中的右键菜单ContextMenu
  19. 差分约束系统相关练习题
  20. 大疆软件经纬度偏差消除

热门文章

  1. 【Leetcode】刷题之路4(python版)
  2. 《introduction to information retrieval》信息检索学习笔记3 词典和容错式检索
  3. 批标准归一化(Batch Normalization)解析
  4. ORB特征提取算法分析与实现,算法分解
  5. 嵌入式linux alsa,嵌入式Linux下ALSA音频架构ALSA-lib移植与编译心得
  6. java异常例子_java 异常的实例详解
  7. 实验报告Linux操作系统基本命令,linux操作系统实验报告全部.doc
  8. mysql copy pending_mysql 案例 ~ 主从复制延迟之并行复制
  9. unigui中弹出对话框原窗体是没有了_最前线 | 微信对话框“搜一搜”功能上线,独辟蹊径的腾讯打着什么算盘?...
  10. jsp调试java_调试从Tomcat(JSP)运行的Java程序