原题链接:POJ2456

题意简述:求在1~N中选C个位置,每俩个位置之间距离最小的值最大化。

思路:让距离最小的那个距离最大。可以看出来答案具有单调性,那我们就可以转求解为判定,用二分搜索来求结果。具体做法就是假定一个答案,再不断缩小答案范围,最终得到解。

注意点:while循环内的判定条件需要仔细考虑,稍有改变就会有截然不同的结论。

代码示例:

#include<cstdio>
#include<algorithm>
using namespace std;const int maxn = 1e5+10;
int stall[maxn];
int n,c;
bool C(int size){int cnt = 1;int last = 0;for(int i = 1;i < n;i++){if(stall[i] - stall[last] >= size) cnt++,last = i;}return cnt >= c;
}
int main(){scanf("%d%d",&n,&c);for(int i = 0;i < n;i++)scanf("%d",stall+i);sort(stall,stall+n);long long l = 0,r = 3e9;while(l < r){int mid = (l + r)/2;if(C(mid)) l = mid+1;else r = mid;}   printf("%lld\n",l-1);return 0;
}

至于为什么最后答案是l-1呢?假设到了最后一个成立的答案mid,此时l = mid + 1 ,那么下一个必定不成立并l = r退出,此时答案其实为l - 1,即上述的mid。

转载于:https://www.cnblogs.com/long98/p/10352156.html

POJ2456(最大化最小值)解题报告相关推荐

  1. 训练指南第一部分解题报告

    主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks  (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...

  2. 【解题报告】博弈专场 (CF 2000~2200)前五题

    [解题报告]博弈专场 (CF 2000+)前五题 A:Fox and Card Game | CF388C 题意 思路 代码 B:Berzerk | CF786A 题意 思路 代码 C:Ithea P ...

  3. 【解题报告】博弈专场(CF2200~2400)后五题

    [解题报告]博弈专场(CF2200~2400)后五题 F:Arpa and a game with Mojtaba | CF850C 题意 思路 代码 G:Tokitsukaze and Duel | ...

  4. 【解题报告】力扣 第 266 场周赛

    文章目录 简单题 1.算法 2.解题报告 中等题 1.算法 2.解题报告 中等题 1.算法 2.解题报告 困难题 1.算法 2.解题报告 加群须知 简单题 1.算法   位运算 2.解题报告 Leet ...

  5. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  6. 解题报告(一)D、(CROC 2016 - Final Round C)Binary Table(矩阵 + 状态压缩 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  7. 解题报告:线性规划与网络流24题

    目录 A.飞行员配对方案问题 (二分图最大匹配)(最大流)[提高+/省选- ] B.太空飞行计划问题(最大权闭合图转最小割.最小割方案输出)[省选/NOI- ] C.最小路径覆盖问题(有向无环图最小路 ...

  8. 百度之星初赛(1)解题报告

    超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  9. LeetCode228场周赛解题报告

    LeetCode228场周赛解题报告 生成交替二进制字符串的最少操作数 原题链接 https://leetcode-cn.com/contest/weekly-contest-228/problems ...

  10. Codeforces Round #700 (Div. 2)A~D2解题报告

    Codeforces Round #700 (Div. 2)A~D2解题报告 A Yet Another String Game 原题链接 http://codeforces.com/contest/ ...

最新文章

  1. RabbitMQ使用及与spring boot整合
  2. Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间
  3. python os模块安装_二十七、深入浅出Python中的 os模块
  4. MySQL变量,存储过程,函数,流程控制详解(小白都能懂哦)
  5. 阿里程序员转行公务员,工资少了40万,只留一句话惊醒众人
  6. 企业是否应该实现对客户需求的快速响应_为什么说数据中台是企业数字化转型的基石?...
  7. [转]《精通css》笔记1:css选择器与优先级
  8. 为什么我们不再购买技术类书籍
  9. python 自动化发送邮件_干货 | 解放双手,用Python实现自动发送邮件
  10. spring boot java.lang.NoClassDefFoundError: org/springframework/cloud/context/named/NamedContextFact
  11. 求解鸡兔同笼问题C语言
  12. 计算机打印基础知识教程,员工计算机基础知识普及教程(ppt 84页)
  13. Google Scanned Objects: A High-Quality Dataset of 3D Scanned Household Items【google 3D数据集】
  14. [Simulink] 从手写代码到自动生成代码
  15. .fasta文件的相关处理
  16. 我的软考之路(四)——数据结构与算法(2)之树与二叉树
  17. matlab 插值生成曲面,[转]Matlab曲面拟合和插值
  18. 五种经典卷积神经网络
  19. C++:char数组初始化
  20. BUUCTF-网鼎杯2020-青龙组-joker

热门文章

  1. shell中变量和字符串拼接方法
  2. Alpha 冲刺 —— 十分之九
  3. Berkeley DB的介绍
  4. 企业如何制定SOP?
  5. js中的堆内存和栈内存
  6. android 手机资源获取失败,安卓手机刷机原理方法介绍刷机失败解决方案
  7. 如何加减单元格指定数字_excel如何计算
  8. OpenGL入门暨用C#做个3D吞食鱼(一)第一人称视角的实现
  9. 2015年12月6日
  10. iText7高级教程之构建基础块——4.使用AbstractElement对象(part 1)