博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
007:Aggressive cows
阅读量:5140 次
发布时间:2019-06-13

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

描述Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,...,xN (0 <= xi <= 1,000,000,000).

His C (2 <= C <= N) cows don't like this barn layout and become aggressive towards each other once put into a stall. To prevent the cows from hurting each other, FJ want to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible. What is the largest minimum distance?输入* Line 1: Two space-separated integers: N and C
* Lines 2..N+1: Line i+1 contains an integer stall location, xi输出* Line 1: One integer: the largest minimum distance样例输入

5 312849

样例输出

3

提示OUTPUT DETAILS:

FJ can put his 3 cows in the stalls at positions 1, 4 and 8, resulting in a minimum distance of 3.
Huge input data,scanf is recommended.来源USACO 2005 February Gold

二分的关键

  • 二分的对象(一个单调的序列,问题的解包含在这个序列中)
  • 一个条件计算函数(计算结果有两种结果,可以将目标序列减半)
#include
#include
#include
#include
#include
#include
#include
#include
#define DEBUG(x) cout << #x << " = " << x << endlusing namespace std;const int maxn=1e5;const int MAX=1e9;int pos[maxn];int N,C;int feasible(int n){ int cnt=1; int cur=pos[0]; int i; for(i=1;i
=cur+n){ cur=pos[i]; cnt++; } } int rt=cnt-C; return rt;}int bsearch(int lb,int rb){ int lastPos=-1; int mid; while(lb<=rb){ mid=(lb+rb)/2;// DEBUG(mid); if(feasible(mid)>=0){ lastPos=mid; lb=mid+1; } else { rb=mid-1; } } return lastPos;}void printArray(int a[],int n){ for(int i=0;i

 

转载于:https://www.cnblogs.com/MalcolmMeng/p/9113745.html

你可能感兴趣的文章
Border-radius
查看>>
mysql触发器
查看>>
Redis学习笔记(1)Redis安装和启动
查看>>
淌淌淌
查看>>
BZOJ1002:[FJOI2007]轮状病毒
查看>>
SSD5_Recommended Exercise 4 分析
查看>>
django实现分页功能
查看>>
CSS伪类与CSS伪元素的区别
查看>>
如何:修改字符串内容
查看>>
Tomcat Server之启动---Bootstrap类
查看>>
经典问题-生产者和消费者问题
查看>>
Hadoop Distributed File System 简介
查看>>
文档通信(跨域-不跨域)、时时通信(websocket)、离线存储(applicationCache)、开启多线程(web worker)...
查看>>
常用正则表达式
查看>>
队列的基本使用方法
查看>>
解题:USACO18FEB Taming the Herd
查看>>
ACM-括号匹配问题
查看>>
使用Python中的urlparse、urllib抓取和解析网页(一)(转)
查看>>
Linux_屏蔽360、scanv、QQ管家等IP扫描
查看>>
LeetCode 538. Convert BST to Greater Tree
查看>>