一道簡單而經典的二分,借用一點挑戰上的方法

2021-08-13 08:59:46 字數 566 閱讀 8212

3

約翰新建了一座穀倉,穀倉的n個攤位的位置分別為x1,...,xn (0 <= xi <= 1,000,000,000)。

他的c頭牛對於穀倉的布局不滿意,經常在進入攤位後相互侵略。為了防止它們繼續發生衝突,約翰要將這些牛放進攤位中使得每兩頭牛之間的最小距離盡可能大,請設計乙個程式將其計算出來。

#include #include using namespace std;

int n,c,l,u,mid;

const int max=1e9+15;

const int maxn=1e5+100;

int x[maxn]; //攤位的位置;

bool ok(int d)

}if(crt>=c) return true;

else return false; //通過計算最後滿足所選中間值的攤位數量與牛的數量進行比較來將攤位間的距離縮小;

}int main()

printf("%d\n",l);

}}

個人覺得這個題目是乙個極其經典的二分,可以作為乙個模板。

對一道pwnhub的一點點記錄

一.通過ssh弱口令,建立socket5 進內網。1.修改proxychains配置檔案vi etc proxychains.conf如下 2.建立ssh隧道 ssh qtfnn d 7070 p 22 user host,能夠curl本地,說明成功 進內網。二.開放9000埠,存在fastcgi檔...

二分查詢的一點改進優化

傳統的二分查詢是直接讓陣列的最大座標與最小座標之和除以二求得的mid 但是有一種情況值得考慮 例如大家要用字典查詢單詞amuse 那麼大家會翻字典中間嗎?會每次都翻中間去尋找嗎?肯定是直接翻前面的頁去尋找這個單詞。加入有1 到1000000個數近似均勻分布,那麼大家找100時再從中間那樣遞迴是不是會...

關於二分搜尋中間點的一點感想

今天覆習到二分搜尋。在鄧俊輝老師的資料結構中,有序向量二分搜尋的函式頭形式如下 templatestatic rank binsearch t a,t const e,rank lo,rank hi 其中要搜尋的範圍是乙個左閉右開區間。lo,hi 其中的乙個問題常常困惑我,究竟這個中間的數取什麼位置...