二分

题单:【算法1-6】二分查找与二分答案 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

1.STL函数

upper_bound(arr,arr+n,arr[i]+c);//arr是数组,n是数组中元素个数,如果从1开始那么可以写成(arr+1,arr+1+n,arr[i]+c)
lower_bound(arr,arr+n,arr[i]+c);//同上(可以查找大于等于arr[i]+c的第一个数所在的位置,并返回数组下标)
 
2.手打二分
1 int find(int x) //二分查找 
2 {
3     int l=1,r=n;
4     while (l<r)
5     {
6         int mid=l+(r-l)/2;
7         if (a[mid]>=x) r=mid;
8         else l=mid+1;
9     }

//待续

posted @ 2022-03-15 20:12  cloudcat233  阅读(66)  评论(0编辑  收藏  举报