POJ 3258:River Hopscotch (最大化最小值)
【题意】
牛要到河对岸,在与河岸垂直的一条线上,河中有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 (最大化最小值)相关推荐
- POJ 3258 River Hopscotch(二分查找答案)
一个不错的二分,注释在代码里 #include <stdio.h> #include <cstring> #include <algorithm> #include ...
- POJ 3258 River Hopscotch 经典二分
点击打开链接 River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6189 Accepted: ...
- POJ 3258 River Hopscotch (二分)
题目地址:POJ 3258 水题.二分距离,判断是否可行.需要注意的是最后一个,因为最后一个是没法移除的,所以还要倒着判断一下. 代码如下: #include <iostream> #in ...
- poj 3258 River Hopscotch 二分答案
题目地址: http://poj.org/problem?id=3258 题目思路: 首先,如果只减少一部,那么一定要干掉最短的那段距离(一旦不消灭,最小的还是它,并没有达到使最小值取最大的理想情况) ...
- POJ 3258 -- River Hopscotch(二分)
题目链接 Description Every year the cows hold an event featuring a peculiar version of hopscotch that in ...
- POJ - 3258 River Hopscotch(二分水题)
题目链接:点击查看 题目大意:给出n个石头,其位置排列在一个数轴上,起点为0,终点为ed(题目会给出),我们设两两石头之间的间距的最小值为ans,问在移走m块石头之后,ans的最大值是多少 题目分析: ...
- poj 3258 River Hopscotch 【二分】
题目真是不好读,大意例如以下(知道题意就非常好解了) 大致题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都有唯一的距 ...
- POJ 3258 River Hopscotch
题目链接:https://vjudge.net/problem/POJ-3258 题目大意 给定数轴上一个起点 0,终点 L,以及中间 N 个不同的点,现准备删除中间 N 个点中的 M 个,使得剩下来 ...
- poj 3258 River Hopscotch 二分
1 /** 2 大意:给定n个点,删除其中的m个点,其中两点之间距离最小的最大值 3 思路: 二分最小值的最大值---〉t,若有距离小于t,则可以将前面的节点删除:若节点大于t,则继续往下查看 4 若 ...
最新文章
- dlib 获取人脸姿态 6个关键点
- Spring Boot配置Mysql后无法根据java实体类生成table
- OracleOraDb11g_home1TNSListener 服务启动后停止 某些服务在未由其他服务或程序使用时将自动停止
- 解决Windows上编译PHP7.1拓展的错误
- layui table reload post请求_基于Layui组件封装的后台模版
- springboot配置手动提交_kafka教程-springboot消费者-手动提交offset
- Mac 版 QQ 音乐上线离线提示音的方法?
- Linux非root用户如何使用80端口启动程序
- php缓存memclear,PHP内存缓存加速功能memcached安装与用法
- SAP MM模块之批次管理
- jvm异常生成文件hs_err_pid[pid].log
- 美团校园招聘笔试例题一---C语言
- 曾被尊称为“教父级”人物的郭盛华,现在到底怎么样了?
- 我的RHCE认证考试经历
- AutoCAD系统变量大全
- LED MEO GTO GEO IGSO SSO概念
- JLINK在线调试——软件调试方法与技巧
- WPF中的右键菜单ContextMenu
- 差分约束系统相关练习题
- 大疆软件经纬度偏差消除
热门文章
- 【Leetcode】刷题之路4(python版)
- 《introduction to information retrieval》信息检索学习笔记3 词典和容错式检索
- 批标准归一化(Batch Normalization)解析
- ORB特征提取算法分析与实现,算法分解
- 嵌入式linux alsa,嵌入式Linux下ALSA音频架构ALSA-lib移植与编译心得
- java异常例子_java 异常的实例详解
- 实验报告Linux操作系统基本命令,linux操作系统实验报告全部.doc
- mysql copy pending_mysql 案例 ~ 主从复制延迟之并行复制
- unigui中弹出对话框原窗体是没有了_最前线 | 微信对话框“搜一搜”功能上线,独辟蹊径的腾讯打着什么算盘?...
- jsp调试java_调试从Tomcat(JSP)运行的Java程序