POJ2456 Aggressive cows
题目:http://poj.org/problem?id=2456
思路:二分经典题目,二分答案,判断间隔mid是否能容纳所有的奶牛。不过二分坑点比较多
例如查找值的时候,while里面写<=, 否则{1,3,5}查找不到5,返回值也是很迷的。这道题返回mid是错误的。可以从结束条件分析,结束条件:l > r, 前一个状态下的 l+1 了,所以最后返回 l-1(纯属个人理解)
推荐二分博客:https://blog.csdn.net/yefengzhichen/article/details/52372407
AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int INF = 0x3f3f3f3f;
int n, dis;
long long d[100010];int main() {while(~scanf("%d%d", &n, &dis)) {long long maxx = -1, minn = INF;for(int i = 0; i < n; i++) {scanf("%lld", &d[i]);}sort(d, d+n);long long l = 0, r =d[n-1]-d[0], mid;//while(l <= r) {//判断条件<= 例如1 3 5 如果<就不行了 mid = (r-l)/2+l;//间隔值 int zhi = 1;long long ans = d[0];//最左边开始 for(int i = 1; i < n; i++) {//判断是否用mid可以安排所有的奶牛 if(d[i] >= ans + mid) {zhi++;ans = d[i];}if(zhi>=dis)break;}if(zhi >= dis)//如果mid小 l = mid+1;else//mid大 r = mid-1;}printf("%lld\n", l-1);//不知道为什么mid不行 }
}
POJ2456 Aggressive cows相关推荐
- poj2456 Aggressive cows(二分查找)
https://vjudge.net/problem/POJ-2456 二分,从最大长度开始,不断折半试,如果牛全放下了,就是可行,修改下界,否则改上届. 1 #include<iostream ...
- Aggressive cows POJ2456
Aggressive cows(愤怒的牛)(分治) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40455 Accepted: ...
- 二分搜索 POJ 2456 Aggressive cows
题目传送门 1 /* 2 二分搜索:搜索安排最近牛的距离不小于d 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #incl ...
- POJ 2456 Aggressive cows(二分答案)
Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22674 Accepted: 10636 Des ...
- BZOJ 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛( 二分答案 )
最小最大...又是经典的二分答案做法.. -------------------------------------------------------------------------- #inc ...
- 二分入门——poj 2456 aggressive cows
这是一道二分的神奇贪心题,先上题目 Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11714 A ...
- Aggressive cows POJ - 2456
2456 -- Aggressive cows 题目大意:有c只牛,要把他们放在n个屋子里,每个屋子放一只牛,每个屋子都在一根数轴上,给出他们的坐标,要让每个屋子间的最小距离尽可能的大,问这个最大距离 ...
- POJ 2456 - Aggressive cows(二分)
Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...
- Aggressive cows(c语言)
题目描述 Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are ...
最新文章
- (转)如何修改maven的默认jdk版本
- .net core webapi 通过swagger生成说明文档
- 【转】HTML全解(1)
- 二叉树的建立与三种遍历
- LeetCode MySQL 1204. 最后一个能进入电梯的人(累加/变量/窗口函数)
- java中的getnumber怎么用_java安全编码指南之:Number操作
- javascript 之牛人感悟,必看学习
- Warez出品的精品动画,近25万倍的压缩,大小仅有64K的
- CUDA组件 -- nvidia driver驱动与toolkit
- 获取支付宝小程序链接
- POI 导出Excel文件 设置指定列格式为文本格式
- Android移动开发
- 南通大学计算机组成原理实验,南通大学医学院(护理学院)专业
- 3d建模做一单多少钱?做外包赚钱吗?
- apicloud总结
- 块元素盒子内容被撑开
- mysql出现LF怎么办,MySQL的LF_HASH
- PSI 项目经理 PMP 计算题公式人话版解释
- Android源码配置第三方应用电池白名单流程分析笔记
- VS册程序设计C#---问卷调查系统
热门文章
- 洛谷P4338 [ZJOI2018]历史(LCT,树形DP,树链剖分)
- 突破年薪20w,不敲代码行不行?
- 完全PIN对PIN SN2711B系列 存储器配置 OTP ROM 空间:1K * 16 位。 RAM 空间:64 字节。
- 如何解决C盘空间不足的问题?
- 回声消除(Echo Cancellation)理解
- 刘一男词汇课(从shift到string):“重复是记忆之母,理解是记忆之父。“
- 企业如何进行中台的架构与数据模型的管控?
- 爬取薅羊毛网站百度云资源
- 你应该知道的项目成本控制技巧
- HEVC标准(draft)翻译--解码过程