网站启动画面网络招商
网站启动画面,网络招商,wordpress破解版下载地址,seo综合排名优化【传送门#xff1a;BZOJ1734】 简要题意#xff1a; 约翰有N 间牛棚#xff0c;这些牛棚坐落在一条直线上#xff0c;第i 间牛棚位于坐标Xi 的位置。他要把C 头 奶牛安排在这些牛棚里。每间牛棚最多可以放一头奶牛#xff0c;也可以空着。这些奶牛的脾气都很暴燥#xf…【传送门BZOJ1734】 简要题意 约翰有N 间牛棚这些牛棚坐落在一条直线上第i 间牛棚位于坐标Xi 的位置。他要把C 头 奶牛安排在这些牛棚里。每间牛棚最多可以放一头奶牛也可以空着。这些奶牛的脾气都很暴燥所 以把它们分得越远越好。请你帮助约翰安排这些奶牛的住处使得她们两两之间的最短距离最大。 输入格式 • 第一行两个整数N 和C2 ≤ C ≤ N ≤ 10^5 • 第二行和第N 1 行一个整数Xi0 ≤ Xi ≤ 10^9 输出格式 • 单个整数最大的最小距离 样例输入 5 3 1 2 8 4 9 样例输出 3 样例解释 约翰可以把他的三头牛放在14 和8 的位置 上。 题解 二分距离一头一头牛放判断牛之间的距离是否大于等于二分的距离 参考代码 #includecstdio
#includecstring
#includecstdlib
#includealgorithm
#includecmath
using namespace std;
int a[110000];int n,c;
bool check(int x)
{int ta[1];int k2;for(int i2;ic;i){while(a[k]-txkn) k;if(a[n]-tx) return false;ta[k];}return true;
}
int main()
{scanf(%d%d,n,c);for(int i1;in;i) scanf(%d,a[i]);sort(a1,an1);int l0,r1000000000;int ans0;while(lr){int mid(lr)/2;if(check(mid)true){ansmid;lmid1;}else rmid-1;}printf(%d\n,ans);return 0;
} 转载于:https://www.cnblogs.com/Never-mind/p/7764981.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91672.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!