POJ 2456_Aggressive cows
2016-02-09 09:10
190 查看
题意:
给定N个位置,把C头牛分别放入,求相邻两头牛的最大距离。分析:
即为求两头牛之间最小距离的最大值。二分搜索答案。代码:
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; const int maxn = 100005, INF =0x3fffffff; typedef long long ll; int x[maxn]; int N, C; int judge(int a) { int last = 0, cnt = 1, tmp; while(last < N - 1){ tmp = last + 1; while(x[tmp] - x[last] < a) tmp++; if(tmp < N) cnt++; if(cnt >= C) return 1; last = tmp ; } return 0; } int main (void) { scanf("%d%d",&N,&C); for(int i = 0; i < N; i++) scanf("%d",&x[i]); sort(x, x + N); int l = 0, r = INF, mid; while(l<r-1){ mid = l + (r - l)/2; if(judge(mid)) l = mid; else r = mid; } printf("%d\n",l); }
相关文章推荐
- POJ 2456_Aggressive cows
- POJ 2456_Aggressive cows
- 吊扇项目总结(二)— 433无线模块
- 2016蓝桥杯假期任务之《2的次幂表示 》
- 日经春秋 20160209
- 天声人語 20160209 豊かさと幸せ問う倉本劇
- 【Android】7.0 第7章 简单适配器和布局--本章示例主界面
- 程序员简历优化之道
- 三维凸包之增量算法
- HTML+CSS笔记 表格,超链接,图片,表单
- hdu1869 六度分离 (floyd)
- 数组的经典例子
- Xcode中使用数据(硬件)断点调试
- Xcode中使用数据(硬件)断点调试
- Xcode中使用数据(硬件)断点调试
- linux ln 命令使用参数详解(ln -s 软链接)
- Ubuntu 14.04LTS Gnome GUI初体验及163更新源配制
- android优化原理
- 免费才最贵:揭露「免费」Windows 10 的真实成本
- [转]fastjson常见问题