博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1734[Usaco2005 feb]Aggressive cows 愤怒的牛*
阅读量:6833 次
发布时间:2019-06-26

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

题意:

n头牛,第i头坐标为xi,将它们分成c组,要求相邻两组最小距离最大。n≤100000。

题解:

二分最小距离。

代码:

1 #include 
2 #include
3 #include
4 #include
5 #define inc(i,j,k) for(int i=j;i<=k;i++) 6 #define maxn 100010 7 using namespace std; 8 9 inline int read(){10 char ch=getchar(); int f=1,x=0;11 while(ch<'0'||ch>'9'){
if(ch=='-')f=-1; ch=getchar();}12 while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();13 return f*x;14 }15 int n,c,x[maxn],l,r,ans;16 bool check(int a){17 int j=c-1,k=x[1]; inc(i,2,n){
if(x[i]-k>=a)k=x[i],j--; if(!j)return 1;} return 0;18 }19 int main(){20 n=read(); c=read(); inc(i,1,n)x[i]=read(); sort(x+1,x+n+1); l=1; r=1000000000;21 while(l<=r){
int mid=(l+r)>>1; if(check(mid))ans=mid,l=mid+1;else r=mid-1;} printf("%d",ans); return 0;22 return 0;23 }

 

20160929

转载于:https://www.cnblogs.com/YuanZiming/p/5971255.html

你可能感兴趣的文章
基本名字与地址转换
查看>>
深入理解javascript闭包
查看>>
关于分页选中问题-超越昨天的自己系列(9)
查看>>
XML解析中的namespace初探
查看>>
从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
查看>>
Jquery实现鼠标拖拽效果
查看>>
标准差(standard deviation)和标准误差(standard error)你能解释清楚吗?
查看>>
[WPF]有滑动效果的进度条
查看>>
妙趣横生的算法--顺序表
查看>>
Xcode 5.0.2 下载地址
查看>>
Z.Studio高级成衣定制(双井店)价格,地址(图)-北京-大众点评网
查看>>
定时器
查看>>
【LeetCode】120. Triangle (3 solutions)
查看>>
boost::interprocess(1)
查看>>
Noi2011 : 智能车比赛
查看>>
设置tomcat 编译文件位置【转】
查看>>
NOI2010 : 超级钢琴
查看>>
sine曲线向前运动
查看>>
ios的@property属性和@synthesize属性(转)
查看>>
四种常见的 POST 提交数据方式
查看>>