3258专题

poj 3258 二分最小值最大

题意: 有一些石头排成一条线,第一个和最后一个不能去掉。 其余的共可以去掉m块,要使去掉后石头间距的最小值最大。 解析: 二分石头,最小值最大。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <c

POJ 3258 River Hopscotch 二分

题意:奶牛们喜欢在河里的石头上玩跳房子游戏,每次从一个石头跳到另一个石头上。现在知道起点的石头,终点的石头,以及终点石头到起点石头的距离L。又知道起点-终点之间还有N个石头,每个石头到起点的距离记为rock[i]。Farmer John想去掉N个石头中的M个,问如何去掉使得任意两块石头之间的距离的最小值最大。 #include<cstdio>#include<algorithm>using

poj 3258 最大化最小值

//必须特判一下特殊情况,只有起始点和终点。。。。。。 #include<stdio.h> int L,M,N,a[500050]; int judge(int x)//判断距离为x时,此时可不可行 {      int i=0;      int stand=0,ans=0;      while(i<N)      {          while(i<N&&a[i]-stand<x)

POJ 3258 River Hopscotch(牛过河问题,二分)

River Hopscotch(查看题目) Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 11391 Accepted: 4890 Description Every year the cows hold an event featuring a peculiar version of hopscot

poj-3258-River Hopscotch-二分

题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L。 河中有n块石; 输入的每块石头的距离是到起点的距离。 问现在要移除m块石头(S和E除外),每次移除的是与当前最短距离相关联的石头,要求移除m块石头后,使得那时的最短距离尽可能大,输出那个最短距离。 做法: 和上一道题目的做法是一样的都是二分。 #include<i