博客
关于我
二分法模板
阅读量:734 次
发布时间:2019-03-21

本文共 654 字,大约阅读时间需要 2 分钟。

二分法模板

二分的核心思想是解决边界问题。对于整数的边界,我们通常会在计算时加一再减一,这样可以避免直接取到边界值导致的死循环问题。不过,对于浮点数来说,这种处理就不需要,因为直接除以2已经可以得到中间值了。

整数二分法

整数二分法通常分为三个部分:判定函数、查找函数以及主函数。

定义判定函数bool judge(int mid) {int a = ...;if (满足题意条件) {return true;} else {return false;}}

主函数int solve1() {int l, r, mid;// 根据题目定义初始值while (条件不满足) {mid = (l + r) / 2;if (judge(mid)) {l = mid + 1;} else {r = mid;}}}

浮点数二分法

双变量solve1() {double l, r, mid;// 根据题目定义初始值while (r - l > eps) {mid = (l + r) / 2;if (judge(mid)) {l = mid + eps;} else {r = mid - eps;}}return r;}

双变量solve2() {double l, r, mid;// 根据题目定义初始值while (r - l > eps) {mid = (l + r) / 2;if (judge(mid)) {r = mid - eps;} else {l = mid + eps;}}return r;}

转载地址:http://rtagz.baihongyu.com/

你可能感兴趣的文章
OpenCV图像处理篇之阈值操作函数
查看>>
OpenCV图像的深浅拷贝
查看>>
OpenCV学习(13) 细化算法(1)(转)
查看>>
OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
查看>>
OpenCV学堂 | OpenCV案例 | 基于轮廓分析对象提取
查看>>
OpenCV学堂 | YOLOv8实战 | 荧光显微镜细胞图像检测
查看>>
OpenCV官方文档 理解k - means聚类
查看>>
OpenCV探索
查看>>
OpenCV环境搭建(一)
查看>>
openCV目标识别 目标跟踪 YOLO5深度学习 Python 计算机视觉 计算机毕业设计 源码下载
查看>>
opencv笔记(1):图像缩放
查看>>
opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
查看>>
OpenCV计算点到直线的距离 数学法
查看>>
Opencv识别图中人脸
查看>>
OpenCV读写avi、mpeg文件
查看>>
opencv面向对象设计初探
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:不规则形状区域中每种颜色的像素数?
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
OpenDaylight融合OpenStack架构分析
查看>>