二分模板

第一个>=x的位置 l
while (l <= r)
{
int mid = (l + r) / 2;
if (lst[mid] < x) l = mid + 1;
else r = mid - 1;
}

最后一个=x的位置 l-1
while (l <= r)
{
int mid = (l + r) / 2;
if (lst[mid] <= x) l = mid + 1;
else r = mid - 1;
}

while(l<r)
如果为check成功 l=mid,else r=mid-1 mid=(l+r+1)/2
如果为check成功 r=mid,else l=mid+1 mid=(l+r)/2
保证得以结束

二分类型有交互 https://blog.csdn.net/asbbv/article/details/113963861

值的二分https://blog.csdn.net/asbbv/article/details/113962748

独立合并的二分https://ac.nowcoder.com/acm/problem/213483

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:22
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务