nyoj 疯牛(二分搜索+贪心)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=586
疯牛
- 描述
-
农夫 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
这几天在搞贪心,顺便A了一道题目。
看到题目首先想到的是栅栏总长度除以(牛的数目-1),就是每个牛的长度,然后按照这个长度为界限依次按最接近的值,遍历找出其中最小值。后来发现不对。
然后看了讨论区说二分搜索+贪心
就想到二分搜索答案,数据范围200000,可以,依次贪心直到找出一个最大的最小值。
看来二分搜索很实用啊。需要多加练习。
代码:
#include <cstdio>
#include <algorithm>
using namespace std;typedef long long LL;
LL a[101000];
int n,c;
int chack(int x)
{int cas=1,ch=a[0];for(int i=1;i<n;i++){if(a[i]-ch>=x){ch=a[i];cas++;}if(cas>=c)return true;}return false;
}
int reaerch() //二分搜索
{int l=0,r=a[n-1]-a[0],mid;while(l<=r){mid=(l+r)/2;if(chack(mid))l=mid+1;elser=mid-1;}return l-1;
}
int main()
{while(~scanf("%d%d",&n,&c)){for(int i=0;i<n;i++)scanf("%lld",&a[i]);std::sort(a,a+n);printf("%d\n",reaerch());}return 0;
}
nyoj 疯牛(二分搜索+贪心)相关推荐
- nyoj914Yougth的最大化(二分搜索 + 贪心)
Yougth的最大化 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价 ...
- NYOJ 586 疯牛 POJ 2456(二分搜索 + 贪心)
疯牛 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...
- NYOJ 914 Yougth的最大化(二分搜索 + 贪心)
Yougth的最大化 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价值最 ...
- POJ 2456 疯牛(二分+贪心)
疯牛 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些 ...
- NYOJ - 非洲小孩(贪心)
http://nyoj.top/problem/1036 内存限制:64MB 时间限制:1000ms 题目描述: 家住非洲的小孩,都很黑.为什么呢? 第一,他们地处热带,太阳辐射严重. 第二,他们不经 ...
- nyoj 208 Supermarket(贪心)
Supermarket 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 A supermarket has a set Prod of products on sale. ...
- cqyz oj | 化装晚会 | 二分搜索 | 贪心
Description 万圣节又到了!FJ打算带他的奶牛去参加一个化装晚会,但是FJ只做了一套能容下两头总长不超过 S 的牛的恐怖服装.FJ养了 N 头按 1..N 顺序编号的奶牛,编号为 i 的奶牛 ...
- NYOJ疯牛【二分】
疯牛 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些 ...
- NYOJ 287 Radar 贪心之 区间选点
Radar 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 Assume the coasting is an infinite straight line. Land ...
最新文章
- SQL操作的组成部分
- 比起睡觉,我更喜欢刷巨详细的Java枚举类,这是来自猿人的自觉呀
- python seaborn boxplot_python - 如何将文本框添加到Seaborn Boxplot? - 堆栈内存溢出
- linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植
- springboot mongo查询固定字段_你真的会用索引么?[Mongo]
- Railgun工具箱HWID验证
- EMNLP'21 | 检索式对话情感回复
- SpringBoot单元测试@Test没有run的解决方法
- AutoForm Master v4.04-ISO 1CD(专业板金优化分析软件,好用!)/
- 打码兔官网 验证码识别 远程答题服务 代答平台 验证码识别软件下载
- BLE_BQB Test_Modulation Characteristics, LE Coded (S=8)_RF-PHY/TRM/BV-13-C
- 黑CNN网站:解恨但不明智
- 特发性震颤为什么在喝酒后症状消失?
- 做统计分析课程设计时回忆的一些知识
- Ubuntu16.04搜索不到wifi列表
- 随机过程 Brown 运动(上)
- Typescript 面向对象
- Linux之汇编语言
- 高中计算机网络安全教案,高中信息技术信息安全教案
- linux more命令查找关键字,Linux下more命令高级用法
热门文章
- 利用Theano理解深度学习——Logistic Regression
- IP、子网掩码、网关
- Outlook Express 收件箱修复
- [大哲学家——尼采] 论老妪和少妇 ——这个文章不知道该如何评价了。
- 蚂蚁金服烈元:蚂蚁网络代理演进之路
- IE内核浏览器访问https网站出现证书问题
- Oracle导入.dat文件
- vue小程序开发(一) uni-app基本学习
- JavaSE基础知识总结(良心详解)
- python读取windows日志_Python取证技术(3): Windows 事件日志分析