type
status
date
slug
summary
tags
category
icon
password
😀
划分
 

二分查找

在一段已知的序列中寻找目标解;
num[]中查找x

mid可以用 mid=l+(r-l)>>1; 来处理防止溢出
更多情况下,数据时重复的,需要找到第一次出现的时候该数的下标,或者最后一次出现时;
  • 第一次出现
需要尽可能往前
  • 最后一次出现
需要尽可能往后
stl
在stl 库中有定义好的二分查找函数,可以对数列进行查找;
其返回值为指针,具体操作为:
可以使用
来定义查找小于n的值

二分答案

答案存在一个区间,要在区间中找到最优解;
有两种情况
  1. 求 最大值最小
  1. 求 最小值最大
第一种要求答案靠近更小的值即 r->mid
第二种要求答案靠近更大的值即 l->mid
对应二分查找中的操作

三分

将区间分为三部分:(l,m1)(m1,m2)(m2,r)
即为:
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
基础-并查集基础-最短路
Announcement
🎉NotionNext 4.1已经上线🎉
-- 感谢您的支持 ---
域名即将迁移到
请及时记录防迷路()