二分總結 挑戰

2021-09-02 15:16:41 字數 1149 閱讀 9942

最後實在不知道輸出mid left 還是right,就把mid mid+1 mid-1根據特定的順序都判斷一遍就不會出錯。

普通的二分。

1:切小木棍

//最經典的就是從n個小木棍裡面切除k個最長的,求出最長的長度。

//題目鏈結

//有兩種寫法,一種是取mid100次,另一種是卡r-l>=1e9等,但是不要卡的太小,會陷入死迴圈

//輸出一定是用r而不是mid因為r一定》=mid,向下取整的時候,r一定可以,但是mid就不一定了。

#include using namespace std;

const int maxn=1e4;

double len[maxn];

int n,k;

bool isleft(double mid)

int main()

printf("%.2lf",floor(r*100)/(double)100);

// dowhile(r-l>1e-9);

// printf("%.2lf",floor(r*100)/(double)100);

return 0;

}

2: 

#include using namespace std;

const int maxn=50005;

int l,n,m;

int pos[maxn];

bool judge(int len)

if(ans>m) return true;

else return false;

}int main()

{ cin>>l>>n>>m;

for(int i=2;i<=n+1;i++)

scanf("%d",&pos[i]);

pos[1]=0,pos[n+2]=l;

int l=0,r=l,mid;

while(l這一類的問題很容易被當成貪心。

有n個重wi 價值為vi的物品,從中選取k個,讓他們總單位體積的價值最大。這可不是貪心啊

二分問題 挑戰例題 2017 7 28

題意 給出n條線段,以公尺的單位給出,小數點後兩位 精確到厘公尺 要你對這些線段裁剪,裁剪出m條等長的線段,並且讓這些線段盡可能長另外線段的長度不能小於1厘公尺,如果籌不夠m條,輸出0.00 思路 1.轉換成整數 接著套模板就可以了 2.check函式 裡如果sum k說明此時可以拆分成k個 然後把...

二分查詢總結

今天上csdn,發現一篇關於二分查詢演算法的文章被置頂,回帖也相當熱烈。我覺得演算法總重要的還是要了解思想,至於程式設計技巧則是其次。二分查詢在計算中演算法中的重要性不言而喻,許多變形的演算法都是基於此演變的,比如二分查詢樹等。所以此演算法程式我也打算總結一下。當然經典的演算法討論莫過於jon be...

二分演算法總結

討論分為3種,第一種是搜尋佇列中任意我們需求的結果,第三種我們需求佇列中有多個返回第乙個,第四種未我們搜尋佇列中有多個返回最後乙個元素的index。第一種 在一行排好序佇列a中搜尋target,一定有。int binarysearch int a,int n,int target return 1 ...