POJ 2456 Aggressive cows(二分答案,最大化最小值)

原创 2015年11月21日 16:35:57

题目链接
题意:给出n个牛舍坐标(在一直线上),然后有m个牛要入住,现在问相邻牛之间的最小距离最大是几
解答:二分答案,函数ok(d)检查距离是d合法与否


#include<cstdio>
#include<algorithm>

//#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define X first
#define Y second
#define cl(a,b) memset(a,b,sizeof(a))
typedef pair<long long ,long long > P;
const int maxn=100005;
const LL inf=1LL<<45;
const LL mod=1e9+7;

LL a[maxn];
int n,m;
bool ok(int d){
    int last=0;
    for(int i=1;i<m;i++){
        int cur=last+1;
        while(cur<n&&a[last]+d>=a[cur])cur++;
        if(cur==n)return false;
        last=cur;
    }
    return true;
}
void solve(){
    int l=0,r=999999999;
    while(r-l>1){
        int mid=(l+r)/2;
        if(ok(mid))l=mid;
        else r=mid;
    }
    printf("%d\n",r);
}
int main(){
    while(~scanf("%d%d",&n,&m)){
        for(int i=0;i<n;i++){
            scanf("%lld",&a[i]);
        }
        sort(a,a+n);
        solve();
    }
    return 0;
}


版权声明:一个菜逼的笔记,并没有什么题解。。。

相关文章推荐

二分答案方法 — 最大值最小化问题

最大值最小化问题(分治解法) 把一个包含n个正整数的序列划分成m个连续的子序列(每个正整数恰好属于一个序列)。设i个序列的各数之和为S(i),你的任务是让所有S(i)的最大值尽量小 #...

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

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

POJ 3273 二分求最大化最小值

Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 20086 Accep...

【玲珑杯 1047】【二分匹配 KM算法或者费用流】Best couple【定义男女生的距离为最短距离,求匹配之后使得总距离最大】

传送门:http://www.ifrog.cc/acm/problem/1055 思路: 跑一发floyd,然后再用km。 但是问题来了,这个有可能n != m。那怎么办? 其实可以补上一些不存在...

【贪心专题】POJ 2456 Aggressive cows && NYOJ 586 疯牛(最大化最小值 贪心+二分搜索)

链接: click here~~ 题意:农夫 John 建造了一座很长的畜栏,它包括N (2 但是,John的C (2 【解题思路】其实就是给你n个坐标,让你选m个(m 类似的最大化最小值或者...

Aggressive cows POJ 2456 (二分,最大化最小值)

Aggressive cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14977   Accepted:...
  • lwgkzl
  • lwgkzl
  • 2017年07月25日 01:16
  • 91

二分法典型应用(二)最大化最小值 POJ2456 Aggressive cows

问题描述: Farmer John has built a new long barn, with N (2

poj 2456 Aggressive cows (二分查找)

Description Farmer John has built a new long barn, with N (2

POJ2456 Aggressive cows(二分搜索)

题目链接:http://poj.org/problem?id=2456

二分入门——poj 2456 aggressive cows

这是一道二分的神奇贪心题
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 2456 Aggressive cows(二分答案,最大化最小值)
举报原因:
原因补充:

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