模板
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.函式功能 在陣列中以二分法檢索的方式查詢,...