二分分为:

  • 整数二分
  • 浮点数二分

二分可以解决的问题:如果它左边的区间不满足条件,右边区间都满足条件。
那么就可以用二分O(log2n)的时间复杂度解决问题。
模板

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;
}

入门题:
789. 数的范围
790. 数的三次方根
中等题
矩阵
一生之敌

ACM入门之【二分】相关推荐

  1. C语言oj学生成绩输入和输出,『ACM入门』蓝桥杯ACM训练系统基本输入输出教程

    在介绍训练场的OJ系统之前,首先为大家介绍一下ACM: ACM原代表美国计算机协会,因其举办的ICPC即国际大学生程序设计竞赛而闻名全世界,此项赛事要求学生的在五小时内解决全英文问题,并在效率和速度以 ...

  2. c语言记忆化搜索,HNUSTC语言基础简单数据结构acm入门第一讲搜索.ppt

    C语言基础,简单数据结构,ACM入门讲座搜索部分 Bjut:mark063 2010.10.30 1 Evaluation only. Created with Aspose.Slides for . ...

  3. ACM入门及STL简介(转)

    第一章 新手入门 1.      ACM国际大学生程序设计竞赛简介 1)      背景与历史 1970年在美国TexasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕. ...

  4. 【转载】ACM入门 .

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  5. ACM入门指南[转]

    前言: 这篇指南不对ACM/ICPC国际大学生程序设计竞赛进行介绍,计算机学子如果不了解的可以在百度上进行搜索查询,这里介绍的只是一个计算机学生想要在ACM/ICPC里进行发展的初学者.内容比较简单通 ...

  6. ACM入门之【分块习题】

    目录 6277. 数列分块入门 1[区间修改 单点查询] 6278. 数列分块入门 2[区间加 区间查询小于x的个数] 6279. 数列分块入门 3[区间修改 区间查询小于x的最大值] 6277. 数 ...

  7. ACM入门之【搜索】

    搜索在ACM中是很重要的. 搜索一般分为DFS和BFS两大类,下面又划分很多的小类. 入门习题: 842. 排列数字 843. n-皇后问题 844. 走迷宫 845. 八数码

  8. ACM入门之【读入、输出优化】

    本文主要是基于oiwiki的做的总结,未来也会做一系列的相关文章.如果想继续看的话可以关注专栏. 做这个专栏的目的是因为自己最近开始系统的再打一下基础.于是想写一个专栏便于喜爱ACM的初学者入门. 目 ...

  9. ACM入门及STL简介

    1.       ACM 国际大学生程序设计竞赛简介 1)       背景与历史 1970 年在美国TexasA&M 大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕.1977 ...

最新文章

  1. Java -cp 使用
  2. Java设计模式—责任链模式
  3. xe7 Unresolved external CSPIN.OBJ
  4. Oracle逻辑空间管理
  5. OpenCASCADE:使用 扩展数据交换XDE之形状和组件
  6. python—os模块、时间模块
  7. 表单标签 input
  8. jq获取页面高度_JQuery获取页面高度宽度
  9. ATL之深入浅出书评(转)
  10. 从维基百科到裴松之注三国志
  11. 分布式配置管理平台VS统一集中配置管理
  12. Filebeat日志收集
  13. java excel 水印_Java 添加Excel水印
  14. Opencv-获取两点之间距离
  15. 流程图基础绘制方法和流程图制作软件功能详解
  16. win10svn图标(绿色勾)不显示
  17. 【tool】动态注释LOG_NDEBUG宏定义
  18. 2023年的一些规划和想法
  19. 2022-2028年中国猪肉分割肉行业市场研究及前瞻分析报告
  20. cmd+查看远程服务器端口,CMD下查3389远程端口

热门文章

  1. [pymongo] pymongo.errors.CursorNotFound Exception
  2. 读书不言迟,不读终身痴[转]
  3. 用筛选法求100以内的素数(数组)
  4. Winform 导出成Excel打印代码
  5. dingo php,用laravel dingo/api创建简单的api
  6. CRF++:一个 CRF 工具包
  7. socket通信(5)4次挥手
  8. 区块链BaaS云服务(35)亦笔科技ODRChain使用场景
  9. 区块链BaaS云服务(29) 溪塔科技 CITA-Cloud 二
  10. C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数匹配与重载运算符