美文网首页
记一次Sphere OJ踩坑(二分搜索的应用)

记一次Sphere OJ踩坑(二分搜索的应用)

作者: 敢想敢做_ | 来源:发表于2018-04-23 17:58 被阅读0次

题目地址:Aggressive cows

题目大意:

将牛安排到牛圈里,求出安排方案使得离得最近的两头牛距离最远,求该距离的最大值

思路:

使用二分搜索,最大距离在[0,MAX_DISTANCE]之间,所以在此区间搜索满足条件的最大值即可,区间右端点取值很重要,可取最远的一个牛圈的距离,可以直接INT_MAX,注意不要随便来个#define inf 9999,血淋林的教训!
代码:

#include<bits/stdc++.h> 
using namespace std;
//计算两个牛相距得最小距离的最大值 
int cowp[100003];


bool PC(int n,int c,int dis)     //检查是否能将c头牛以dis的间距放在n个圈里 
{
    int i,cnt = 1,front = 0;
    for(i = 1;i < n; i++) 
    {
        if(cowp[i] - cowp[front] >= dis) 
        {
            cnt++;
            front = i;
        }
    }
    return cnt >= c;
}
int main()
{
    int n;
    cin >> n;
    while(n--)
    {
        int i,N,C;
        cin >> N >> C;
    
        for(i = 0;i < N; i++)   scanf("%d",&cowp[i]);
        
        sort(cowp,cowp+N);
        
        int lb = 0,ub = cowp[N-1],mid;
        while(ub - lb > 1)  
        {
            mid = (ub + lb) / 2;
            if(PC(N,C,mid)) lb = mid;
            else ub = mid;
        }
        
        cout << lb << endl;         //返回能放下的最大距离 
        
    }
}

相关文章

  • 记一次Sphere OJ踩坑(二分搜索的应用)

    题目地址:Aggressive cows 题目大意: 将牛安排到牛圈里,求出安排方案使得离得最近的两头牛距离最远,...

  • [ANR Warning]onMeasure time too

    ConstraintLayout 踩坑记一次封装组合控件时的坑,我才用了集成 ConstraintLayout 来...

  • springboot集成swagger2深坑

    记录一次swagger2踩坑记,网上资料杂乱而不完整,自己踩的坑还算比较多,记录下自己的解决历程 一、首次来看看遇...

  • React Native WebView踩坑记

    React Native WebView踩坑记 在使用React Native开发应用时,有些第三方的页面需要在W...

  • 移动端的头尾固定问题

    新起了个移动端项目,在头位固定问题上又踩了一次踩过的坑。爬起来之后弹弹土,乖乖的坐下来码字,把踩坑换来的经验教训记...

  • Android Material Design 踩坑记(2)

    Android Material Design 踩坑记(1) CoordinatorLayout Behav...

  • 原生App植入React Native 踩坑记

    原生App植入React Native 踩坑记 为什么我踩坑了有一个需求要去可以在当前工程的feature/RN ...

  • 记一次踩坑

    下面这张图有什么交互问题吗(右边的“人员分类”部分最多有20项)? 嗯,好像并没有太大问题。然而... 当开发完毕...

  • Deepin使用踩坑记

    1. 前言 很喜欢Deepin,奈何坑太多,不过不怕,踩过去~ 2. 踩坑记 2.1 Deepin重启后文件管理器...

  • SpringStreaming+Kafka

    摘自 :Spark踩坑记——Spark Streaming+Kafka [TOC] SpringStreaming...

网友评论

      本文标题:记一次Sphere OJ踩坑(二分搜索的应用)

      本文链接:https://www.haomeiwen.com/subject/jrbllftx.html