二分查詢模板和例題

2021-10-22 18:59:50 字數 1022 閱讀 2776

模板

int

bsearch_1

(int l,

int r)

else

}return l;

}

例題,**位元組筆試題:

給定n個猴子 每個猴子有個食量,每個猴子輪流拿香蕉,要求拿的數量為min(remain/2,eat*2)且該數量》eat,其中remain是當前剩餘食物數量,eat是食量。最後乙個猴子可以全部拿走,求最小的食物數量使得每個人都能吃飽。

慮到這個食物數量肯定是單調的,那麼二分答案即可

vector<

int> v;

int a;

intcheck

(int mid)

if(mid < v.

back()

)return0;

return1;

}int

main()

int l =

1, r =

1e9+7;

while

(l < r)

else

}printf

("%d\n"

, l)

;return0;

}

leetcode 875

class

solution

return left;

}bool

check

(vector<

int>

& piles,

int h,

int speed)

};

9.10更新

來自b站乙個up主,講的挺好的,真·萬能,不用擔心越界

二分模板以及經典例題

演算法思路 演算法思路 假設目標值在閉區間 l,r 中,每次將區間長度縮小一半,當l r時,我們就找到了目標值。當我們將區間 l,r 劃分成 l,mid 和 mid 1,r 時,其更新操作是r mid或者l mid 1 計算mid時不需要加1。int bsearch 1 int l,int r re...

二分查詢模板

二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。演算法思路 假設目標值在閉區間 l,r 中,每次將區間長度縮小一半,當l r時,我們就找到了目標值。模板一當區間 l,r 的更新操作是r mid l mid 1 時,計算mid時不需要加1。int bsearch 1 in...

二分查詢模板

例如陣列中查詢乙個數 二分查詢的前提是整個陣列是有序的 模板 int a n int l 0,r n 1 int mid,key while l r 另外還有一些二分查詢函式 a.函式模板 binary search arr,arr size indx c.函式功能 在陣列中以二分法檢索的方式查詢,...