Day6 680 剪繩子 浮點數二分

2021-10-20 19:16:34 字數 582 閱讀 5218

#include#include#include#includeusing namespace std;

const int n = 100010;

int n,m;

int arr[n];

bool check(double mid)

int main()

printf("%.2f\n",mid);

return 0;

}

直接解很難,而把問題轉化為在答案範圍內找解,看是否能符合要求則容易實現

找解採用二分查詢:能用二分的條件,不管答案在哪,每次二分不影響查詢

浮點二分的精度問題:

方法一:r - l <= 1e-k+2     (k為小數保留位數)

while (r - l > 1e-4)

方法二:1e7 / check()函式時間複雜度   (迴圈固定次數)

for (int i = 0; i < 100; i++)

acwing 790. 數的三次方根

整數二分

剪繩子題解 浮點數二分

有n根繩子,第i根繩子長度為li,現在需要m根等長的繩子,你可以對n根繩子進行任意裁剪 不能拼接 請你幫忙計算出這m根繩子最長的長度是多少。輸入格式 第一行包含2個正整數n m,表示原始繩子的數量和需求繩子的數量。第二行包含n個整數,其中第 i 個整數li表示第 i 根繩子的長度。輸出格式 輸出乙個...

浮點數二分

2 浮點數二分 模板 浮點數二分演算法模板 模板題 acwing 790.數的三次方根 bool check double x double bsearch3 double l,double r return l acwing790.數的三次方根 給定乙個浮點數n,求它的三次方根。輸入格式 共一行,...

整數二分和浮點數二分

注意點 1.有單調性一定可以二分,二分不一定需要單調性 2.二分本質 找到一種性質,將乙個區間一分為二,一部分滿足性質,另一部分不滿足性質,通過二分找到兩部分的邊界 3.二分一定有解,即能夠找到性質的邊界。無解通常跟題目有關。4.浮點數二分 精度足夠小時結束迴圈 或者 直接迴圈100次 while ...