学术计划VOL.1 二分!
2025-10-12 20:30:25
发布于:重庆
二分!
这是Stars_Seeker推出的一个新系列的第一期,希望这个系列能够帮助到刚学习 C++ 或者复习 C++ 却不知道复习哪些的同学们,同时这个系列没有过多的言语和绝美的佳句作者语文不好(,只有透彻的知识awa。
写的这么差的帖子肯定不是AI(
二分的前提:单调性(单调增 单调减 单调不增 单调不减)
二分的思想:每次从中间将区间分成两半 ,每次选择往左走或者向右走 。
二分的复杂度:每次区间长度减半,可以看成是 n 每次除以 2,直到n = 1时候结束 , 这一过程是 O(logn) 。
二分的2种写法:
求符合条件的最左边
while(l<r){
int mid=l+r>>1;
if(check(mid)){
r=mid;
}
else{
l=mid+1;
}
}
求符合条件的最右边
while(l<r){
int mid=l+r+1>>1;
if(check(mid)){
l=mid;
}
else{
r=mid-1;
}
}
二分查找两个函数
lower_bound(a+1,a+1+n,x) 查找大于等于x的第一个位置
upper_bound(a+1,a+1+n,x) 查找严格大于x的第一个位置
返回的都是地址
假如你想要得到下标,可以这么写:
int p=lower_bound(a+1,a+1+n,x)-a; //减去首地址 获得偏移量
找不到的话 返回 a+n+1的地址(我们的范围在下标 1~n, 所以返回n + 1的地址代表找不到)
是的没错,你没有听错,第一期结束了!
二分除了固定的模版其余的重点就是check函数的部分了,因为每道题check都可能不太一样,所以就不花时间去讲了awa,还是那句话:菜就多练,做多了自然就熟了!
下一篇学术计划->
全部评论 26
举报举报举报AIAIAIAIAIAI
2025-10-06 来自 浙江
3(
2025-10-06 来自 重庆
0举报举报举报AIAIAIAIAIAI
2025-10-11 来自 上海
1
一看就不是AI
2025-10-11 来自 新疆
2
1周前 来自 重庆
1
1周前 来自 北京
1@Moon_Seeker 终于有用的地方了(

1周前 来自 重庆
0
1周前 来自 北京
06
1周前 来自 浙江
0
long long lll=0; while(l<=r){ long long mid=(l+r)/2; if(go(mid)){ l=mid+1; lll=mid; } else{ r=mid-1; } }1周前 来自 浙江
1MC团队招人拉!想在电脑上玩MC,可以进来我们团,里面的作业里有(https://www.acgo.cn/application/1913576045675352064)
2025-10-12 来自 广东
1谁不知道PCL
1周前 来自 北京
0一堆
1周前 来自 广东
0
傻逼
2025-10-11 来自 浙江
1不适隔门



2025-10-11 来自 浙江
1sb
2025-10-11 来自 重庆
1sb
2025-10-11 来自 浙江
1
注意到今天的ABC的C也是二分(((
2025-10-11 来自 浙江
1不过是二分图
2025-10-11 来自 浙江
0%%%
2025-10-11 来自 重庆
0
%%%
2025-10-06 来自 广东
1
2025-10-06 来自 重庆
1圣经
2025-10-11 来自 上海
0
建议
l+r>>1改成
l+(r-l>>1)2025-10-06 来自 江西
1我的习惯就是第一个呦,第二个一般在笔试卷的时候经常出没(
2025-10-06 来自 重庆
0主要第二个防溢出
2025-10-06 来自 江西
0额,第一个通常也不会溢出吧
2025-10-06 来自 重庆
0
但是赞了
2025-10-06 来自 浙江
1哥们字太少了
2025-10-06 来自 浙江
1你猜为什么叫学术计划(
2025-10-06 来自 重庆
2e
2025-10-06 来自 浙江
1所以。。。
2025-10-06 来自 浙江
1
d
1周前 来自 重庆
0不是哥们?这么短?
1周前 来自 浙江
0额
1周前 来自 重庆
0
我是这么写的
while(l+1<r){ int mid=l+r>>1; if(check(mid)){ l=mid; } else{ r=mid; } }if(check(r)) cout<<r; else cout<<l;2025-10-12 来自 浙江
0别抢我递归哈
2025-10-12 来自 上海
0过段时间可能要写
2025-10-12 来自 上海
0递归这么简单,谁还写递归啊。。。
2025-10-13 来自 重庆
0
细节发到灌水区
2025-10-12 来自 浙江
0(((
2025-10-13 来自 重庆
0
d
2025-10-12 来自 浙江
0d
2025-10-12 来自 浙江
0压力滚c
2025-10-12 来自 浙江
0压力成功了
2025-10-13 来自 重庆
0











































有帮助,赞一个