看到旁邊的學弟也在做二分,就手賤2分鐘打了一道奇(sha)特(bi)二分題。
原題傳送門
好吧,做這道題是為了給新手乙個教程
首先我們聊聊二分。
二分利用的也是分治思想
不懂分治思想的可以看看我歸併做的那道火柴排隊。
傳送門首先要了解一下二分的性質(也就是什麼題目要用二分來寫、)
我們假設乙個題目,如果乙個數a能夠滿足題意,並且u=[數值最小值/數值最大值(看題意)~a]中的數就一定能夠滿足題意。
那麼這道題目就能用來二分。。
或者說一道題目的解的解集為u,如0a;要我們求a的值
那麼這道題目就能用來二分。、
好吧,好想還是很複雜。
還是貼**比較穩妥。
簡單一句話來說,就是答案具有單調性的題目可以用來二分。。(單調性等我開始做單調佇列的時候再來填坑。。)
下面貼原題**。。主程式相當於模板啦233~
#include#include#include
#include
using
namespace
std;
int n,k,a[10001
];bool check(int
x)int
main()
int l=1,r=maxn;
int ans=0
;
while(l<=r)
printf(
"%d\n
",ans);
}
LintCode 183 木材加工(二分查詢)
有一些原木,現在想把這些木頭切割成一些長度相同的小段木頭,需要得到的小段的數目至少為 k。當然,我們希望得到的小段越長越好,你需要計算能夠得到的小段木頭的最大長度。樣例 1 輸入 l 232 124 456 k 7輸出 114explanation 我們可以把它分成114cm的7段,而115cm不可...
P2440 木材加工 二分答案入門
題目描述 木材廠有一些原木,現在想把這些木頭切割成一些長度相同的小段木頭 木頭有可能有剩餘 需要得到的小段的數目是給定的。當然,我們希望得到的小段木頭越長越好,你的任務是計算能夠得到的小段木頭的最大長度。木頭長度的單位是cm。原木的長度都是正整數,我們要求切割得到的小段木頭的長度也是正整數。例如有兩...
洛谷 P2440 木材加工 二分
題目描述 普及 提高 木材廠有一些原木,現在想把這些木頭切割成一些長度相同的小段木頭 木頭有可能有剩餘 需要得到的小段的數目是給定的。當然,我們希望得到的小段木頭越長越好,你的任務是計算能夠得到的小段木頭的最大長度。木頭長度的單位是 cmcm cm。原木的長度都是正整數,我們要求切割得到的小段木頭的...