5.1 二分 二分用于在一个已经排好序的数组里查询某个数/查询第一个大于(不小于)某数的数。 5.1.1 非递归实现 int l=1,r=n,x; while(l<r){ int mid=l+r>>1; //l和r的平均数(向下取整),等价于(l+r)/2 if(a[mid]<x)l=mid+1; //这里可以根据需求换成小于等于,或者check(mid),即任意//写的check函数 else r=mid; } //搜索完l即为寻找的地方5.1.2 递归实现 int bs(int l,int r,int x){ int mid=l+r>>1; if(a[m...