博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分搜索 POJ 3258 River Hopscotch
阅读量:5833 次
发布时间:2019-06-18

本文共 1138 字,大约阅读时间需要 3 分钟。

 

1 /* 2     二分:搜索距离,判断时距离小于d的石头拿掉  3 */ 4 #include 
5 #include
6 #include
7 #include
8 using namespace std; 9 10 typedef long long ll;11 const int MAXN = 5e4 + 10;12 const int INF = 0x3f3f3f3f;13 ll a[MAXN];14 int n, m;15 16 bool check(ll d) {17 int last = 0; int cnt = 0;18 for (int i=1; i<=n+1; ++i) {19 if (a[i] - a[last] <= d) cnt++;20 else last = i;21 }22 return cnt > m;23 }24 25 int main(void) { //POJ 3258 River Hopscotch26 //freopen ("POJ_3258.in", "r", stdin);27 28 ll x;29 while (scanf ("%I64d%d%d", &x, &n, &m) == 3) {30 a[0] = 0; a[n+1] = x;31 for (int i=1; i<=n; ++i) {32 scanf ("%I64d", &a[i]);33 }34 35 sort (a, a+n+2); ll l = 0, r = a[n+1];36 while (l <= r) {37 ll mid = (l + r) >> 1;38 if (check (mid)) r = mid - 1;39 else l = mid + 1;40 }41 printf ("%I64d\n", l);42 }43 44 return 0;45 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4676377.html

你可能感兴趣的文章
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
Linux 目录结构及内容详解
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
.net excel利用NPOI导入oracle
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
CSS——(2)与标准流盒模型
查看>>
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>