二分贪心 E
来源:互联网 发布:阿尔法软件官方下载 编辑:程序博客网 时间:2024/05/01 17:21
这道题的基本题意为给你n个畜栏、c头牛,把这c头牛放在其中c个畜栏里,让牛与牛之间离得尽可能的远,要求求满足条件的牛与牛之间的最小距离。
源代码如下:
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
int main()
{ int n,c,a[100001],i,j,mid,min,max;
scanf("%d%d",&n,&c);
for(i=0;i<n;++i)
scanf("%d",&a[i]);
sort(a,a+n);
min=0;
max=a[n-1];
while(max-min>1)
{ int m=1;
mid=(min+max)/2;
for(i=1,j=0;i<n;++i)
if(a[i]-a[j]>=mid)
{ ++m;
j=i;
}
if(m>=c)
min=mid;
else max=mid;
}
printf("%d\n",min);
}
需要注意的是while里的循环条件要用max-min>1,如果用max>min的话,则无限循环没有结果输出。
0 0
- 二分贪心专题E
- 二分贪心 E
- 二分贪心 E
- 二分贪心 E题
- 二分贪心—E
- 二分贪心-E
- 二分贪心e
- ACM-二分贪心E-05
- 二分贪心——E
- 二分贪心练习--E(牛的距离)
- Codeforces #227(Div2) E. George and Cards 贪心+二分
- 二分贪心 E 找距离最大的最小值
- Codeforces 807E Prairie Partition 贪心思维+二分
- 二分+贪心
- 贪心 + 二分
- 贪心二分
- 贪心+二分
- Codeforces Round #389 (Div. 2) E. Santa Claus and Tangerines 二分+贪心+记忆化搜索
- RobotFramework初识
- Java-------华为机试-------字符串分隔
- SVN检出项目,Eclipse中无法找到项目解决方案
- 基于JavaMail的Java邮件发送:复杂邮件发送
- Android
- 二分贪心 E
- GITHUB使用教程
- c#在最小化为托盘时,无法监听剪切板(clipboard)复制数据时候的变化
- oracle简单DDL的使用
- 1602液晶移动显示
- PHP删除所有空格
- @Cacheable 缓存注解的用法
- Leetcode -- 29. Divide Two Integers
- 走进中关村软件园-光环敏捷PMI-ACP落地分享会