type
status
date
slug
summary
tags
category
icon
password
划分
二分查找
在一段已知的序列中寻找目标解;
在
num[]
中查找x
mid
可以用
mid=l+(r-l)>>1;
来处理防止溢出更多情况下,数据时重复的,需要找到第一次出现的时候该数的下标,或者最后一次出现时;
- 第一次出现
需要尽可能往前
- 最后一次出现
需要尽可能往后
stl
在stl 库中有定义好的二分查找函数,可以对数列进行查找;
其返回值为指针,具体操作为:
可以使用
来定义查找小于n的值
二分答案
答案存在一个区间,要在区间中找到最优解;
有两种情况
- 求 最大值最小
- 求 最小值最大
第一种要求答案靠近更小的值即
r->mid
第二种要求答案靠近更大的值即
l->mid
对应二分查找中的操作
三分
将区间分为三部分:
(l,m1)(m1,m2)(m2,r)
即为:
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- Author:Grimner
- URL:https://tangly1024.com/article/example-7
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!