【POJ 2456】【二分答案】Aggressive cows(暑假 No.1)
题意:
农夫约翰搭了一间有N间牛舍的小屋。牛舍排在一条线上,第 i 号牛牛舍在 xi 的位置。但是他的M头牛对小屋很不满意,因此经常互相攻击。约翰为了防止牛之间互相伤害,因此决定把每头牛都放在离其它牛尽可能远的牛舍。也就是要最大化最近的两头牛之间的距离。
分析:
该题答案是在一个区间之内,并且有单调性,而且对于每一个答案,验证起来都很方便。
满足了二分答案的两个特性:
①答案在确定的区间之内,答案具有单调性
②每个答案都可验证
代码:
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i = a;i <= b;i++)
using namespace std;int n,c,dis[100010],ans;int main()
{while(~scanf("%d%d",&n,&c)){ans = 0;rep(i,1,n)scanf("%d",&dis[i]);sort(dis+1,dis+1+n);int r = dis[n]-dis[1],l = 1;while(l <= r){int mid = (l+r)>>1;int tmp = 1;int jud = 1;rep(i,2,c){jud = 1;rep(j,tmp+1,n){if(dis[j]-dis[tmp]>=mid){tmp = j;jud = 0;break;}} if(jud == 1) break;}if(jud) r = mid-1;else l = mid+1;}printf("%d\n",r);}return 0;
}
【POJ 2456】【二分答案】Aggressive cows(暑假 No.1)相关推荐
- POJ 3579 二分答案
POJ 3579 二分答案 文章目录 POJ 3579 二分答案 题目 思路 代码 题目 思路 排序,二分一下答案,然后对于每一个元素看一看加上这个答案tmp之后,在数列里面排在哪里,比a[i]+tm ...
- POJ - 2456 二分解决
使用二分和贪心方法解决 POJ -2456 #include <iostream> #include<algorithm> #include<cstdio> #in ...
- poj 1743 二分答案+后缀数组 求不重叠的最长重复子串
题意:给出一串序列,求最长的theme长度 (theme:完全重叠的子序列,如1 2 3和1 2 3 or 子序列中每个元素对应的差相等,如1 2 3和7 8 9) 要是没有差相等这个条件那就好办 ...
- poj 1064 java_poj 1064(二分答案)
题意: 有N条绳子,长度分别为 length[1,2,3,........,N]. 如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长有多长? 结果保留两位小数. 题解: 二分可能的长度. AC ...
- POJ 2456 Aggressive cows(二分答案)
Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22674 Accepted: 10636 Des ...
- 二分入门——poj 2456 aggressive cows
这是一道二分的神奇贪心题,先上题目 Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11714 A ...
- POJ 2456 Aggressive cows ( 二分 贪心 )
题意 : 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1e9) ...
- 二分搜索 POJ 2456 Aggressive cows
题目传送门 1 /* 2 二分搜索:搜索安排最近牛的距离不小于d 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #incl ...
- BZOJ 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛( 二分答案 )
最小最大...又是经典的二分答案做法.. -------------------------------------------------------------------------- #inc ...
- Aggressive cows POJ - 2456
2456 -- Aggressive cows 题目大意:有c只牛,要把他们放在n个屋子里,每个屋子放一只牛,每个屋子都在一根数轴上,给出他们的坐标,要让每个屋子间的最小距离尽可能的大,问这个最大距离 ...
最新文章
- 【Sql Server】DateBase-事务
- R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值、自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)
- linux删文件进程叫什么,Linux find 查找 并删除文件 杀掉进程
- POJ - 2018 Best Cow Fences(二分+最长连续子段和)
- react-native 热更新react-native-pushy集成遇到的问题
- JUnit 4测试驱动开发结构图
- 百度地图Polyline 清除
- Python助力性能测试——报文批量生成
- php 数据分流,php实现请求分流 - osc_6fvwlc7h的个人空间 - OSCHINA - 中文开源技术交流社区...
- 事业编考试计算机专业部分,事业单位考试计算机专业知识汇总-单选题.pdf
- php输出mysql查返回行_php-MySQL简单查询返回零行
- python导出项目_使用Python项目生成所有依赖包的清单方式
- 《诗经》(全集) (1)
- 422串口协议解析逻辑设计讨论
- java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程
- 虎虎生威年,用Compose Canvas画只猛虎让大家 “虎躯一震” 吧
- mysql 5.6 登录 警告_mysql登录警告问题的解决方法
- 开源的XAG迈向新征程
- Python实现Word2vec学习笔记
- vpa updater源码分析
热门文章
- liux环境下配置jdk
- ORACLE RMAN备份--差异增量与累积增量的策略实例图
- .Net Framework 总结
- 快餐店选址指南--转
- 计算机电缆执行标准是什么,DJYVP计算机电缆执行标准
- 接口接收数据_基于原语的千兆以太网RGMII接口设计
- Django(四):模型层Model
- html编写个人博客_云开发平台开箱,3分钟零基础搭建个人Hexo博客
- php代码审计_代码审计|PHP反序列化初识
- java replace三个参数_javascript replace()第二个参数为函数时的参数用法