两种二分在写法上的不同
划分的区间不同
第一种
划分为 n[l,mid] n[mid+1,r] mid = l+r>>1
第二种
划分为 n[l,mid-1] n[mid,r] mid = l+r+1>>1
两中二分在使用上return 得出的值的含义上的不同
第一种
mid = l+r>>1
查找大于关键词的最小的下标 (mid+1) 相当于upper_bound()函数
第二种
mid = l+r+1>>1
查找小于关键词的最大的那一个的下标 (mid-1) 相当于lower_bound()函数