二分主要应用于一段区间求满足题意的单点(或单个状态)问题
区间一般呈现的是线性的关系
因此可以对区间每次分成两个部分,每次分割后进行一次判定,直到找到符合条件的点
思路的大致代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int l = 0 ,r = R ,ans = 0;
while(l <= r)
{
int mid = (l+r)/2;//二分区间
if(check(mid))//每次检查
{
ans = mid;
r = mid-1;
}
else
l = mid+1;
}
cout<<ans<<endl;
}
本文介绍了一种常用的搜索算法——二分查找。通过将待搜索区间不断分为两部分,并依据特定条件缩小搜索范围,最终找到满足条件的目标值。适用于线性关系的问题求解。
1231

被折叠的 条评论
为什么被折叠?



