二分(二分答案 二分搜尋)與單調性

2021-07-04 08:16:28 字數 632 閱讀 9706

經典二分搜尋是二分空間範圍。

二分答案又叫二分猜值,是二分解的值空間。

其實可以統一,普通的二分搜尋也是二分答案值域——下標空間,也是猜值。

二分必須滿足單調性,最直觀的,二分搜尋只能在有序陣列上進行。單調性體現在,下標和元素值是單調的,也就是 if (j > i) 有 a[j] > a[i]

一般二分答案解決的問題是最優解問題,單調性體現在:如果x0是可行解,則所有x < x0 是都是可行解;如果x0 不是可行解,則所有x (x > x0)都不是可行解。經典例題是「尋找第乙個失敗的build」,這是個最優解問題(第乙個),當build i是failed的,則所有i之後的build都是fail的,build i是成功的,則所有i之前的build都是成功的。

二分答案就是在找那個邊界,之前都不滿足解的要求,之後都滿足。即000111序列找第乙個1,當然前提是解的分布滿足這種單調性質。

y = f(x) 是個單調函式, 二分查詢就是解方程 f(x) = c,假設解為a, 先猜乙個x,代入函式f(x)求值,然後比較目標函式 f(x)和c,利用單調性質,f(x) > c 則  x > a,,可得a的範圍在x的左邊

1)猜值x

2)代入函式求值 f(x)

3) 和target 比較

4)確定下次猜的範圍

二分查詢與二分答案

主要用於在乙個單調的函式中查詢某值 連續函式的情況 若當前查詢的區間是 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...

二分與二分答案學習

判斷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 ...

網線主管(二分答案or二分搜尋)

description 仙境的居民們決定舉辦一場程式設計區域賽。裁判委員會完全由自願組成,他們承諾要組織一次史上最公正的比賽。他們決定將選手的電腦用星形拓撲結構連線在一起,即將它們全部連到乙個單一的中心伺服器。為了組織這個完全公正的比賽,裁判委員會主席提出要將所有選手的電腦等距離地圍繞在伺服器周圍放...