#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
int n,c;
ll stall[100100];
bool check(ll k){int i;ll num=1,t=stall[1];for(i=2;i<=n;i++)(不停地尝试,只要能放下这么多头牛,则返回True)if(stall[i]-t>=k){(当前的与前一个进行比较)num++;t=stall[i];if(num==c)return 1;}return 0;
}
int main(){scanf("%d%d",&n,&c);ll i,left=0,right=0,mid;for(i=1;i<=n;i++)scanf("%lld",&stall[i]);sort(stall+1,stall+n+1);(先排好序,这样的话后面就好比较距离)left=1,right=stall[n]-stall[1];(这里不能直接stall[n]/c,如果均分,当c=2时就会有问题)while(left<right){mid=(left+right)/2;if(check(mid))left=mid+1;(如果满足条件(包括mid),则收紧条件)else right=mid;}if(check(left))printf("%lld",left);(有可能mid满足了条件left+1退出了,所以要特判一下)else if(check(left-1))printf("%lld",left-1);
}

总结:只要理解了最大的最小距离就可以搞定(主要是理解花时间)

Aggressive cows题解相关推荐

  1. 二分搜索 POJ 2456 Aggressive cows

    题目传送门 1 /* 2 二分搜索:搜索安排最近牛的距离不小于d 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #incl ...

  2. POJ 2456 Aggressive cows(二分答案)

    Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22674 Accepted: 10636 Des ...

  3. BZOJ 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛( 二分答案 )

    最小最大...又是经典的二分答案做法.. -------------------------------------------------------------------------- #inc ...

  4. 二分入门——poj 2456 aggressive cows

    这是一道二分的神奇贪心题,先上题目 Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11714 A ...

  5. Aggressive cows POJ2456

    Aggressive cows(愤怒的牛)(分治) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40455 Accepted: ...

  6. Aggressive cows POJ - 2456

    2456 -- Aggressive cows 题目大意:有c只牛,要把他们放在n个屋子里,每个屋子放一只牛,每个屋子都在一根数轴上,给出他们的坐标,要让每个屋子间的最小距离尽可能的大,问这个最大距离 ...

  7. Aggressive cows POJ - 2456 题解

    题目链接 点击这里 代码 #include <iostream> #include <algorithm>using namespace std;int N, M; const ...

  8. POJ 2456 - Aggressive cows(二分)

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...

  9. Aggressive cows(c语言)

    题目描述 Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are ...

  10. poj 2456 Aggressive cows 【二分+最大化最小值】

    题目链接:http://poj.org/problem?id=2456 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 210 ...

最新文章

  1. QIIME 2用户文档. 14数据评估和质控Evaluating and controlling(2019.7)
  2. 路由器 jffs分区 简介
  3. Get Start from today
  4. Visual Studio 2013开发 mini-filter driver step by step 内核代码段分页alloc_text的使用(9)
  5. BeanUtils的学习
  6. 前端学习(2775):方式2进行路由跳转
  7. 文件类的操作 File c# 1614823687
  8. python爬取豆瓣影评生成词云的课程设计报告_简单爬取《小丑》电影豆瓣短评生成词云...
  9. Android开发笔记(一百零四)消息推送SDK
  10. oracle 方案概念
  11. [刷机教程] android系列 adb操作命令详解,常用adb操作命令详解
  12. 周爱民:架构的实战过程
  13. 删软件怎么用计算机管理员删除,win10卸载软件需要管理员权限,卸载软件没有管理员权限...
  14. Day02| 第四期-阿里巴巴股票行情分析(一)
  15. tensorflow实现Word2Vec——生成词向量以及降维可视化
  16. 常见网页错误代码解析404、400、500、408...
  17. Apache service named reported the following error(OS 10055)由于系统缓冲区空间不足或队列已满解决办法?...
  18. 加拿大卫生部依据NNHPD核准Graminex L.L.C.的PollenBerry(R)
  19. 【图片流转成图片】vue处理后端传来的图片流信息并转换成图片显示在前端页面上【详细解释】
  20. Axure中继器怎么用

热门文章

  1. css font属性详解
  2. 在CentOS Linux系统上,启用ssh服务
  3. deepin15.9的linux内核版本,深度Deepin 15.9操作系统首次更新内容
  4. 电脑计算机睡眠和休眠模式区别,Windows系统的睡眠模式和休眠模式以及待机模式的区别知识科普...
  5. 夜深人静写算法(二)- 动态规划
  6. EXCEL日期格式不一致设置统一显示格式的方法
  7. i春秋 - Exploit-Exercises: Nebula - level03
  8. 微信号注册人工服务器,两个方法让你一次性找到微信人工客服,简单而又粗暴!...
  9. 合肥Android两天十面总结
  10. java 姓名生成器_java自动机器人自动生成修姓名工具类