二分模板

第一个>=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

全部评论

相关推荐

2024-12-10 19:11
重庆大学 Java
August_Li:主管面要是真挂了,你黑化更彻底😂
点赞 评论 收藏
分享
头像
2024-12-19 18:11
英特尔_Software_engineer
下水道鼠鼠鼠鼠:男的能去当技师吗 好进吗
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务