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

思路:二分经典题目,二分答案,判断间隔mid是否能容纳所有的奶牛。不过二分坑点比较多

例如查找值的时候,while里面写<=, 否则{1,3,5}查找不到5,返回值也是很迷的。这道题返回mid是错误的。可以从结束条件分析,结束条件:l > r, 前一个状态下的  l+1  了,所以最后返回  l-1(纯属个人理解)

推荐二分博客:https://blog.csdn.net/yefengzhichen/article/details/52372407

AC代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int INF = 0x3f3f3f3f;
int n, dis;
long long d[100010];int main() {while(~scanf("%d%d", &n, &dis)) {long long maxx = -1, minn = INF;for(int i = 0; i < n; i++) {scanf("%lld", &d[i]);}sort(d, d+n);long long l = 0, r =d[n-1]-d[0], mid;//while(l <= r) {//判断条件<=  例如1 3 5 如果<就不行了 mid = (r-l)/2+l;//间隔值 int zhi = 1;long long ans = d[0];//最左边开始 for(int i = 1; i < n; i++) {//判断是否用mid可以安排所有的奶牛 if(d[i] >= ans + mid) {zhi++;ans = d[i];}if(zhi>=dis)break;}if(zhi >= dis)//如果mid小 l = mid+1;else//mid大 r = mid-1;}printf("%lld\n", l-1);//不知道为什么mid不行 }
} 

POJ2456 Aggressive cows相关推荐

  1. poj2456 Aggressive cows(二分查找)

    https://vjudge.net/problem/POJ-2456 二分,从最大长度开始,不断折半试,如果牛全放下了,就是可行,修改下界,否则改上届. 1 #include<iostream ...

  2. Aggressive cows POJ2456

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

  3. 二分搜索 POJ 2456 Aggressive cows

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

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

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

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

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

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

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

  7. Aggressive cows POJ - 2456

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

  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 ...

最新文章

  1. (转)如何修改maven的默认jdk版本
  2. .net core webapi 通过swagger生成说明文档
  3. 【转】HTML全解(1)
  4. 二叉树的建立与三种遍历
  5. LeetCode MySQL 1204. 最后一个能进入电梯的人(累加/变量/窗口函数)
  6. java中的getnumber怎么用_java安全编码指南之:Number操作
  7. javascript 之牛人感悟,必看学习
  8. Warez出品的精品动画,近25万倍的压缩,大小仅有64K的
  9. CUDA组件 -- nvidia driver驱动与toolkit
  10. 获取支付宝小程序链接
  11. POI 导出Excel文件 设置指定列格式为文本格式
  12. Android移动开发
  13. 南通大学计算机组成原理实验,南通大学医学院(护理学院)专业
  14. 3d建模做一单多少钱?做外包赚钱吗?
  15. apicloud总结
  16. 块元素盒子内容被撑开
  17. mysql出现LF怎么办,MySQL的LF_HASH
  18. PSI 项目经理 PMP 计算题公式人话版解释
  19. Android源码配置第三方应用电池白名单流程分析笔记
  20. VS册程序设计C#---问卷调查系统

热门文章

  1. 洛谷P4338 [ZJOI2018]历史(LCT,树形DP,树链剖分)
  2. 突破年薪20w,不敲代码行不行?
  3. 完全PIN对PIN SN2711B系列 存储器配置 OTP ROM 空间:1K * 16 位。 RAM 空间:64 字节。
  4. 如何解决C盘空间不足的问题?
  5. 回声消除(Echo Cancellation)理解
  6. 刘一男词汇课(从shift到string):“重复是记忆之母,理解是记忆之父。“
  7. 企业如何进行中台的架构与数据模型的管控?
  8. 爬取薅羊毛网站百度云资源
  9. 你应该知道的项目成本控制技巧
  10. HEVC标准(draft)翻译--解码过程