标签:大于等于 style else upper val col 写法 ret 位置
lower_bound:
[l, r)区间内大于等于val的第一个位置
int lower_bound(int l, int r, int val){ while(l < r){ int mid = l + ((r - l) >> 1); if(a[mid] < val){ l = mid + 1; }else{ r = mid; } } return l; }
upper_bound:
[l, r)区间内大于val的第一个位置
int upper_bound(int l, int r, int val){ while(l < r){ int mid = l + ((r - l) >> 1); if(a[mid] <= val){ l = mid + 1; }else{ r = mid; } } return l; }
[l, r)区间内小于等于val的第一个位置:upper_bound(l, r, val) - 1
[l, r)区间内小于val的第一个位置:lower_bound(l ,r, val) -1
标签:大于等于 style else upper val col 写法 ret 位置
原文地址:https://www.cnblogs.com/itcsl/p/9973284.html