codevs2072 分配房間

2021-07-24 01:21:29 字數 1114 閱讀 3260

題目描述 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個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人...