新技能 二分答案

2021-08-10 14:05:46 字數 517 閱讀 3810

本來在刷圖論裡的題的,結果不小心遇到了這道luogu1462

想了好久也沒做出來,只有看題解了(怪我咯,略略略);

好吧,這題要用二分;

1.二分思想

其實和數學中的是一樣的,對於乙個單調函式,可以通過二分法來提高效率,從而更快的確定答案的範圍(或值);

(對於有單峰的函式,我們可以通過三分法來解決問題;)

2.二分答案

二分答案,就是對答案進行二分;像這樣:

while(l<=r)

l到r就是答案的區間範圍,而check函式就自己寫了;

如開頭那道題,check函式就是損失血的最小值小於他的血量;

如果還不理解可以查查二分查詢,

或者想想讓你猜數字(1到1000000),然後告訴你這個數與答案的大小關係,你要猜幾次?(可以每乙個都試一下,但如果二分是不是簡單多了?)

上一些 利提 :

noip2015 跳石頭

luogu1024

二分查詢與二分答案

主要用於在乙個單調的函式中查詢某值 連續函式的情況 若當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y 則 l mid,否則 r mid 直至 r l eps 當前查詢的區間是 l,r 查詢的值是 y 函式單增 設 mid l r 2 若 f mid y...

二分查詢和二分答案

1.解釋 優點 查詢速度快。缺點 待查表為有序表。4.時間複雜度 o log n 5.示例 p2249查詢 include include using namespace std long long n,m,a 1000005 b 100005 l,r,mid,cnt,x intmain for i...

二分與二分答案學習

判斷left,mid,right的符號進行區間的精確。如下為遞迴二分求零點的操作 double find zero point double left,double right,double precesion double mid right left 2 if f mid 0 if f mid ...