題目描述 description剛開始練習二分時做的,想我當時還稚嫩的加了那麼多注釋(╯▽╰)yh擁有一條街道,街道上共有n間房子,每間房子的座標為xi(yh的房子比較神奇,可能重疊)。
同時,yh有m個女朋友(這是事實),yh打算給每位女朋友分配一間房子。兩個女朋友間的距離相隔越近,她們之間產生衝突的可能就越高。yh想盡可能的減小女朋友間的衝突,於是他打算讓他的女朋友間的最小距離最大,你能幫yh找出這個最大值嗎?
輸入描述 input description
第一行兩個整數,n,m,表示yh有n間房子,有m個女朋友
第二行為n個整數,xi,表示各間房子的座標。
輸出描述 output description
輸出1行,表示yh女朋友間的最小距離的最大值
樣例輸入 sample input
5 3
1 2 8 4 9
樣例輸出 sample output
3 資料範圍及提示 data size & hint
對於30%的資料,n<=100,m<=n,0<=xi<=10000;
對於100%的資料,n<=100000 ,m<=n,0 <= xi <= 1000000000
//**:
#include
#include
#include
#include
using
namespace
std;
int a[300000],n,m,x;
bool cmp(int a,int b)
return
true;//這個距離ok
}int main()
sort(a+1,a+n+1,cmp);
int l = 0,r = a[n],mid;
while(l <= r)
else
//如果放不下
r = mid-1;//縮短每個女朋友之間的距離
}printf("%d\n",l-1);//可行的那個最小距離的最大值
return
0;}
CODEVS 2702 分配房間
題目描述 description yh擁有一條街道,街道上共有n間房子,每間房子的座標為xi yh的房子比較神奇,可能重疊 同時,yh有m個女朋友 這是事實 yh打算給每位女朋友分配一間房子。兩個女朋友間的距離相隔越近,她們之間產生衝突的可能就越高。yh想盡可能的減小女朋友間的衝突,於是他打算讓他的...
codevs 1725 探險 (二分)
二分答案 這個題目要求 體力和最小的那個小組的所有人的體力和盡量大 很明顯我們二分最小體力 如果合法 逐漸放大 但是這裡我們二分的是最小而不是最大 所以累加的體力 ans時 跳過當前體力i 可以認為把他歸給了上一組 累加和 0 繼續分組 include include include define ...
二分 CodeVS3162 抄書問題
description 題目描述 現在要把m mm本有順序的書分給k kk個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人...