二分答案模板

2021-08-10 20:19:48 字數 1390 閱讀 4012

#include #include //必須包含的標頭檔案  

using namespace std;

int main();

int tmp = upper_bound(point, point + 5, 7) - point;//按從小到大,7最多能插入陣列point的哪個位置

printf("%d\n",tmp);

tmp = lower_bound(point, point + 5, 7) - point;按從小到大,7最少能插入陣列point的哪個位置

printf("%d\n",tmp);

return 0;

}

#includeusing namespace std;  

typedef long long ll;

const ll inf = 1e18+1000;

const int maxn = 1e6;

ll a[maxn];

int cnt;

void init()

return 0;

}

poj 3104  drying  烘乾衣服

#include#includeusing namespace std;  

int n; //衣服件數

int water[100010]; //水分

int k; //烘乾機一次烘掉的水分

int t=-1; //最終答案:所有衣服幹完的最少時間

int maxt=-1; //所有衣服幹完最長用時

//用時不超過mid (<=mid)能否烘乾衣服, t=o(n)

bool check(int mid) //???1. ceil()函式

}

if(radtime<=mid)

return true;

else

return false;

}

void solve()

r=mid-1;

}else

mid=(l+r)>>1;

} }

int main(void)

scanf("%d",&k);

//計算 & 輸出

solve();

printf("%d\n",t);

//scanf("%d",&n);

//}

system("pause");

return 0;

}

模板 二分答案

二分答案一般使用在求解符合條件的最小值或者最大值上面,當我們遇到這兩個問題的時候,一般都可以使用二分答案來解決問題。二分答案就是通過對所有可能的答案區間進行折半查詢,不斷縮減範圍,最終確定答案的方法。求最小值 intbinary int left,int right return left 我們可以...

二分答案模板

include using namespace std int a 返回最後乙個小於k的數的下標 intfind1 int k return l 返回最後乙個小於等於k的數的下標 intfind2 int k return l 返回第乙個大於k的數的下標 intfind3 int k return ...

模板 二分答案

二分答案一般使用在求解符合條件的最小值或者最大值上面,當我們遇到這兩個問題的時候,一般都可以使用二分答案來解決問題。二分答案就是通過對所有可能的答案區間進行折半查詢,不斷縮減範圍,最終確定答案的方法。求最小值 int binary int left,int right return left 我們可...