poj 3258 River Hopscotch 二分
/**
大意:给定n个点,删除其中的m个点,其中两点之间距离最小的最大值
思路: 二分最小值的最大值---〉t,若有距离小于t,则可以将前面的节点删除;若节点大于t,则继续往下查看
若删除的节点大于m,说明t,过于大,需要减小;若删除的节点小于m说明t过于小了,t需要增大
**/
#include <iostream>
#include <algorithm>
using namespace std;
long long c[];
int main()
{
long long l,n,m;
cin>>l>>n>>m;
for(int i=;i<=n;i++)
cin>>c[i];
c[] =;
c[n+] = l;
n = n+;
sort(c,c+n);
long long minn =c[]-c[];
for(int i=;i<n;i++){
minn = min(minn,c[i]-c[i-]);
}
long long low = minn,high = l;
long long mid;
while(low<=high){
mid = (high+low)>>;
int cnt =;
int s=,e=;//start 开始节点,end,最后节点
while(e<n){
if(c[e]-c[s]>=mid)
s =e,e++;
else
e++,cnt++;
}
if(cnt>m)
high = mid-;
else
low = mid +;
}
cout<<high<<endl;
return ;
}
poj 3258 River Hopscotch 二分的更多相关文章
- POJ 3258 River Hopscotch(二分答案)
		River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 21939 Accepted: 9081 Desc ... 
- [ACM] POJ 3258 River Hopscotch (二分,最大化最小值)
		River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6697 Accepted: 2893 D ... 
- poj 3258 River Hopscotch(二分+贪心)
		题目:http://poj.org/problem?id=3258 题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都 ... 
- POJ 3258 River Hopscotch 二分枚举
		题目:http://poj.org/problem?id=3258 又A一道,睡觉去了.. #include <stdio.h> #include <algorithm> ]; ... 
- 二分搜索 POJ 3258 River Hopscotch
		题目传送门 /* 二分:搜索距离,判断时距离小于d的石头拿掉 */ #include <cstdio> #include <algorithm> #include <cs ... 
- POJ 3258 River Hopscotch
		River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11031 Accepted: 4737 ... 
- poj 3258 River Hopscotch 题解
		[题意] 牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离, 现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值 ... 
- POJ 3258 River Hopscotch (binarysearch)
		River Hopscotch Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5193 Accepted: 2260 Descr ... 
- POJ 3258 River Hopscotch(二分答案)
		嗯... 题目链接:http://poj.org/problem?id=3258 一道很典型的二分答案的题目,和跳石头太像了!! 这道题的题目很显然,求最小中的最大值,注意这道题石头的位置不是从小到大 ... 
随机推荐
- cf-A. Wet Shark and Odd and Even(水)
			A. Wet Shark and Odd and Even time limit per test 2 seconds memory limit per test 256 megabytes inpu ... 
- (转)探讨:ASP.NET技术的学习顺序问题
			探讨:ASP.NET技术的学习顺序问题 摘要:很多人对于ASP.NET的入门和学习顺序比较迷茫,今天让我们一起来跟随作者的思路学习探讨ASP.NET的学习顺序问题,希望有所帮助. 如果你已经有较多的面 ... 
- TASKKILL命令使用方法
			TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM ima ... 
- 引入css ,使用@import和link的方式
			我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗? 继续往下看 linklink就是把外部CSS与网页连接起来. @importimport文字上与link的区别就是它可以把在一 ... 
- Ext.Net 使用总结之GridPanel中的选中行
			1.判断GridPanel中是否选中了某行 if (!GridPanel1.hasSelection()) { Ext.Msg.alert("提示", "请选择记录!&q ... 
- sql查询当天数据
			向数据库中添加日期 MS SQL SERVER: NSERT into student(studentid,time1)values('15',getdate()); MY SQLinsert int ... 
- 如何使用JAVA语言抓取某个网页中的邮箱地址
			现实生活中咱们常常在浏览网页时看到自己需要的信息,但由于信息过于庞大而又不能逐个保存下来. 接下来,咱们就以获取邮箱地址为例,使用java语言抓取网页中的邮箱地址 实现思路如下: 1.使用Java.n ... 
- BZOJ 1407: [Noi2002]Savage( 数论 )
			枚举答案, 然后O(N^2)枚举野人去判他们是否会在有生之年存在同山洞. 具体做法就是: 设第x年相遇, 则 Ci+x*Pi=Cj+x*Pj (mod M), 然后解同余方程. 复杂度应该是O(ans ... 
- 理解ROS的节点(NODE)
			经过前面的学习,我们已经知道了如何构建一个ROS的包,这篇博客将介绍ROS中的节点的概念. 在继续之前,请按ctrl+alt+t打开一个终端,在里面输入: sudo apt-get install r ... 
- python 程序中设置环境变量
			python 中调用系统命令有三种方法: 1.os.system('command') ,这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 ... 
