二分模板 + 讲解笔记

二分

int upper_bound_search(int a[], int l, int r){
    while(l < r){
        int mid = l + r >> 1;
        if(check_upper(mid)) r = mid;
        else l = mid + 1;
    }
    return l;
}

int lower_bound_search(int a[], int l, int r){
    while(l < r){
        int mid = l + r + 1 >> 1;
        if(check_lower(mid)) l = mid;
        else r = mid - 1;
    }
    return l;
}

image-20210909194548647

posted @ 2021-10-09 09:33  wzx1210  阅读(42)  评论(0)    收藏  举报