POJ2456(最大化最小值)解题报告
原题链接: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(最大化最小值)解题报告相关推荐
- 训练指南第一部分解题报告
主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...
- 【解题报告】博弈专场 (CF 2000~2200)前五题
[解题报告]博弈专场 (CF 2000+)前五题 A:Fox and Card Game | CF388C 题意 思路 代码 B:Berzerk | CF786A 题意 思路 代码 C:Ithea P ...
- 【解题报告】博弈专场(CF2200~2400)后五题
[解题报告]博弈专场(CF2200~2400)后五题 F:Arpa and a game with Mojtaba | CF850C 题意 思路 代码 G:Tokitsukaze and Duel | ...
- 【解题报告】力扣 第 266 场周赛
文章目录 简单题 1.算法 2.解题报告 中等题 1.算法 2.解题报告 中等题 1.算法 2.解题报告 困难题 1.算法 2.解题报告 加群须知 简单题 1.算法 位运算 2.解题报告 Leet ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(一)D、(CROC 2016 - Final Round C)Binary Table(矩阵 + 状态压缩 + FWT)(3.5)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 解题报告:线性规划与网络流24题
目录 A.飞行员配对方案问题 (二分图最大匹配)(最大流)[提高+/省选- ] B.太空飞行计划问题(最大权闭合图转最小割.最小割方案输出)[省选/NOI- ] C.最小路径覆盖问题(有向无环图最小路 ...
- 百度之星初赛(1)解题报告
超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- LeetCode228场周赛解题报告
LeetCode228场周赛解题报告 生成交替二进制字符串的最少操作数 原题链接 https://leetcode-cn.com/contest/weekly-contest-228/problems ...
- Codeforces Round #700 (Div. 2)A~D2解题报告
Codeforces Round #700 (Div. 2)A~D2解题报告 A Yet Another String Game 原题链接 http://codeforces.com/contest/ ...
最新文章
- RabbitMQ使用及与spring boot整合
- Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间
- python os模块安装_二十七、深入浅出Python中的 os模块
- MySQL变量,存储过程,函数,流程控制详解(小白都能懂哦)
- 阿里程序员转行公务员,工资少了40万,只留一句话惊醒众人
- 企业是否应该实现对客户需求的快速响应_为什么说数据中台是企业数字化转型的基石?...
- [转]《精通css》笔记1:css选择器与优先级
- 为什么我们不再购买技术类书籍
- python 自动化发送邮件_干货 | 解放双手,用Python实现自动发送邮件
- spring boot java.lang.NoClassDefFoundError: org/springframework/cloud/context/named/NamedContextFact
- 求解鸡兔同笼问题C语言
- 计算机打印基础知识教程,员工计算机基础知识普及教程(ppt 84页)
- Google Scanned Objects: A High-Quality Dataset of 3D Scanned Household Items【google 3D数据集】
- [Simulink] 从手写代码到自动生成代码
- .fasta文件的相关处理
- 我的软考之路(四)——数据结构与算法(2)之树与二叉树
- matlab 插值生成曲面,[转]Matlab曲面拟合和插值
- 五种经典卷积神经网络
- C++:char数组初始化
- BUUCTF-网鼎杯2020-青龙组-joker