二分 二分查找1、整数二分:模板:123456789101112while (l < r) //当l >= r 时,遍历结束,停止循环{ int mid = (l + r) >> 1; if (q[mid] >= x) r = mid; //check函数 当这个点,大于等于x,说明答案在左边,从右边缩小范围 else l = mid + 1; //反之,答案在右边,从左边缩小范围} while (l < r){ if (q[mid] <= x) l = mid; //check函数,当这个点,小于等于x时,答案在右边,从左边缩小范围 else r = mid - 1; //反之,答案在左边,从右边缩小范围} 2、小数二分模板:12345678double eps; //一般比题目要求多两位while (r - l > eps) //只要 r - l 不小于该大小,就不断进行二分,找值 { double mid = (l + r) / 2; if (mid * mid * mid >= n) r = mid; else l = mid; } 算法 > 基础算法 #算法 #基础算法 二分 http://example.com/2023/04/05/基础算法/二分/ 作者 Feng Tao 发布于 2023年4月5日 更新于 2023年4月21日 许可协议 高精度算法 上一篇 排序 下一篇 Please enable JavaScript to view the comments