博客
关于我
二分法模板
阅读量: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/

你可能感兴趣的文章
oracle系统 介绍,ORACLE数据库管理系统介绍
查看>>
Oracle计划将ZGC项目提交给OpenJDK
查看>>
oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
查看>>
Oracle静默安装
查看>>
TCP基本入门-简单认识一下什么是TCP
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
orm总结
查看>>
os.system 在 Python 中不起作用
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>
Sql 随机更新一条数据返回更新数据的ID编号
查看>>