poj3258 River Hopscotch(二分)

原创 2016年06月02日 10:39:43

poj3258

题目

http://poj.org/problem?id=3258

思路

题意就是给一排的石头,头尾不能去掉,去掉m个石头,求最小间距的最大值。
思路就是二分最小距离,判断的时候注意最后一个不能去掉。

代码

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int a[50100];
int l,n,m;

int judge(int x)
{
    int k=0;
    int now=0;
    int temp=1;
    while(temp!=n+1)
    {
        if(a[temp]-a[now]<x)
        {
            k++;
            temp++;
        }
        else
        {
            now=temp;
            temp=temp+1;
        }
    }
    if(a[temp]-a[now]<x) k++;
    if(k<=m) return 1;
    else return 0;
}

int main()
{

    scanf("%d %d %d",&l,&n,&m);
    a[0]=0,a[1]=l;
    for(int i=2; i<n+2; i++)
        scanf("%d",&a[i]);
    sort(a,a+n+2);
    int low=0;
    int high=0;
    for(int i=1; i<n+2; i++)
    {
        high=max(high,a[i]-a[i-1]);
    }
    while(low<=high)
    {
        int mid=(low+high)/2;
        if(judge(mid))
        {
            low=mid+1;
        }
        else
        {
            high=mid-1;
        }
    }
    printf("%d\n",high);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

POJ - 3258/USACO - Dec06 Silver/NOIP 2015 - 提高组 River Hopscotch 贪心+二分搜索

【问题描述】 每年奶牛们举行一场奇特的活动。他们从左岸出发,一个个小心地跳过河上的石头,最后跳到右岸。左右岸上各有一块石头,分别是起点和终点,而它们之间有N块石头在河上,它们与两岸的两块石头处在同一...

poj 3258 River Hopscotch (二分与贪心)

Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully ...

POJ 3258River Hopscotch(二分)

问题描述Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefu...

POJ 3258 River Hopscotch(二分 跳河)

Language: Default River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Tota...

POJ3258 River Hopscotch(二分+贪心)

River Hopscotch

POJ 3258 River Hopscotch (二分)

经典的二分题

poj 3258 River Hopscotch(二分答案)

River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5174   Accepted: ...

POJ 3258- River Hopscotch(二分求最小值最大)

River Hopscotch Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub...

[ACM] POJ 3258 River Hopscotch (二分,最大化最小值)

River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6697  ...

POJ 3258 River Hopscotch(二分·最小距离最大)

题意  一条河两岸之间有n个石头  求取走m个石头后  使得两个石头间距离的最小值最大 感觉关键是理解题意  简单的二分  二分最小距离  看要取走多少个(cnt)石头  cnt #include...
  • acvay
  • acvay
  • 2015-03-09 11:33
  • 677
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)