疯牛

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
描述
农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).
但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是什么呢?

输入
有多组测试数据,以EOF结束。
第一行:空格分隔的两个整数N和C
第二行——第N+1行:分别指出了xi的位置
输出
每组测试数据输出一个整数,满足题意的最大的最小值,注意换行。
样例输入
5 3
1
2
8
4
9
样例输出
3
来源
POJ 翻译
上传者
TC_张友谊

最大化最小值问题或者最小值最大化问题
算法思路:二分+贪心
思路:a.对牛牛进行排序 b.把第一头牛放入x0 c.如果第i头牛放入了x 如果niu《k就放得下

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;int a[100005];
int n,c;int ok(int k)
{int cnt=1;int tmp=a[0];for(int i=1;i<n;i++){if(a[i]-tmp>=k){tmp=a[i];cnt++;if(cnt>=c)//装下c头牛return true;}}return false;
}int main()
{while(~scanf("%d%d",&n,&c)){for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);/*二分查找*/int l=0,r=a[n-1];int mid;while(l<=r){mid=(l+r)/2;if(ok(mid))l=mid+1;elser=mid-1;}printf("%d\n",r);}
}

最小值最大化问题(贪心系列)相关推荐

  1. NOIP2015跳石头【二分答案(最小值最大化) | 贪心】

    519. 跳石头 - AcWing题库 组委会已经选择好了两块岩石作为比赛起点 0 和终点 L . 在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石). 在比赛过程中,选手们将从起点出发,每一 ...

  2. leetcode 二分法 最大值最小化/最小值最大化

    一.(leetcode 410)分割数组的最大值 题目描述: 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组.设计一个算法使得这 m 个子数组各自和的最大值最小. 代 ...

  3. nyoj-976-Youth的最大化(贪心+二分)

    本题为01分数规划 同类题型poj-2976 #include<stdio.h> #include<string.h> #include<algorithm> us ...

  4. NYOJ 5177 疯牛(最大化最小值 二分搜索)

    题目链接:http://115.159.40.116/problem_show.php?pid=5177 题目描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 1 ...

  5. 二分法(三):采用二分法解决“最大化最小值问题”

    [例1]跳石头. 题目描述 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和 ...

  6. c语言二分法查找一个数_算法竞赛小专题系列(1):二分法、三分法

    本系列是这本算法教材的扩展资料:<算法竞赛入门到进阶>. 罗勇军.郭卫斌. 清华大学出版社 二分法和三分法是算法竞赛中常见的算法思路,本文介绍了它们的理论背景.模板代码.典型题目. 1. ...

  7. nyoj 586 疯牛(二分+贪心)

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  8. 【转】如何从计算视角研究网络传播影响力最大化问题?

    电商中对社交网络的两个应用方向,基于社交网络做推荐和基于社交网络做裂变广告.有意思的是做电商的往往做不起社交,电商和社交数据很难打通,而不管做推荐还是做广告,所有的建模和分析都是基于用户行为数据的,不 ...

  9. NYOJ 586 疯牛 POJ 2456(二分搜索 + 贪心)

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  10. poj 2456 Aggressive cows(贪心+二分)

    描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000, ...

最新文章

  1. mysql数据库支持的锁粒度包括_1. Mysql的并发(锁策略、锁粒度、事务)
  2. 看完这篇文章之后,终于明白了编译到底怎么回事
  3. 互联网日报 | TikTok将开启Pre-IPO融资;菜鸟裹裹战略再升级;滴滴中国西区总部落户重庆江北...
  4. 13款WordPress使用必装插件
  5. markdown生成html不出效果,mdeditor: 简单markdown编辑器,同步预览html效果。不依赖任何插件,使用简单,原创,造轮子中。。。更新中。。。...
  6. mac搭建k8s练习环境
  7. Microsoft word 表格居中对齐方法
  8. delphi2010 窗体使用技能总结
  9. linux文件名格式,ASM文件名格式
  10. 荣耀android手机怎么截图,华为荣耀v20如何截图 荣耀v20的截屏的方法步骤
  11. 生成PDMS管口方位图 python方案
  12. cad多段线画圆弧方向_怎样在cad中利用多线画圆弧
  13. Mac安装boost
  14. Android实现键盘拨号
  15. 微信创建公众号菜单时出现48001,api unauthorized rid怎么解决?
  16. php- 秒的转换 (天 小时 分钟) (小时 分钟 )
  17. 福禄克FLUKE TIX650红外热像仪3.5英寸高像素大屏
  18. 计算udp校验和例子_UDP 协议校验和计算
  19. 云知声深耕智慧医疗,推出单病种质控平台赋能单病种质量控制
  20. 计算机键盘无法使用怎么处理,电脑键盘失灵怎么解决

热门文章

  1. 转:初学shell脚本--shell语法使用
  2. 包导出Android升级ADT22后会报ClassNotFoundException的原因分析
  3. asp.net扩展Forms验证
  4. 用css实现了一个精致的纵向导航菜单
  5. redismanager 获取不到yml中的密码_恋爱物语APP:在城市的孤独中,获取真爱密码...
  6. 建筑电气工程设计常用图形和文字符号_电气设计绘图线宽是什么标准,需要遵循哪些基本原则?你知道吗?...
  7. sun oracle t4 2 功率,Oracle T4-2 使用ILOM CLI升级Firmware
  8. [转] 由Request Method:OPTIONS初窥CORS
  9. gridview的表头固定
  10. ORACLE 10G R1手工创建数据库步骤