//二分查找下界函数
#include using namespace std;
int lowerbound(int a[], int l, int r, int v) {
int mid;
while (l < r) {
mid = (l + r) / 2;
if (v <= mid) //当mid大于等于v时,v的下界可能是mid,也可能在mid左边
r = mid;
else l = mid + 1; //当mid小于v时,其下界只可能在v右边
}
return 0;
} //二分查找上界函数
#include using namespace std;
int uperbound(int a[], int l, int r, int v) {
int mid;
while (l < r) {
mid = (l + r) / 2;
if (v >= mid) l=mid+1;
else r = mid;
}
return 0;
}
10-06
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)