From bd0ac5af3c8b0c279d7a3fa85fd9c0df88dbf370 Mon Sep 17 00:00:00 2001 From: pn43tqvrm <2516333959@qq.com> Date: Sat, 19 Feb 2022 16:42:00 +0800 Subject: [PATCH] =?UTF-8?q?Delete=20'=E4=BA=8C=E5=88=86=E6=8E=92=E5=BA=8F'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 二分排序 | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 二分排序 diff --git a/二分排序 b/二分排序 deleted file mode 100644 index 6ef9fde..0000000 --- a/二分排序 +++ /dev/null @@ -1,44 +0,0 @@ -//二分法 -// 整数二分 -bool check(int x) {/* ... */} // 检查x是否满足某种性质 - -// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: -int bsearch_1(int l, int r) -{ - while (l < r) - { - int mid = l + r >> 1; - if (check(mid)) r = mid; // check()判断mid是否满足性质 - else l = mid + 1; - } - return l; -} -// 区间[l, r]被划分成[l, mid - 1]和[mid, r]时使用: -int bsearch_2(int l, int r) -{ - while (l < r) - { - int mid = l + r + 1 >> 1; - if (check(mid)) l = mid; - else r = mid - 1; - } - return l; -} - - -// 浮点数二分 -bool check(double x) {/* ... */} // 检查x是否满足某种性质 - -double bsearch_3(double l, double r) -{ - const double eps = 1e-6; // eps 表示精度,取决于题目对精度的要求 - while (r - l > eps) - { - double mid = (l + r) / 2; - if (check(mid)) r = mid; - else l = mid; - } - return l; -} - -//复杂度说明: 时间复杂度为o(logn). \ No newline at end of file