二分模板

二分模板:

lowerbound(在数组中找到第一个大于等于x的下标)

    x;//大于等于寻找的值的最小下标  找不到会返回数组长度 + 1
   int len = 7;
    //         0  1  2  3  4  5
    int a[] = {1, 2, 3, 3, 3, 4, 5};
    int l = 0, r = len;
    while(l <= r)
    {
        int mid = l + r >> 1;
        if(a[mid] < 3)
            l = mid + 1;
        else
            r = mid - 1;
    }
  //使用lower_bound()
  int t = lower_bound(a, a + n, x) - a;

二分(在数组中找到小于x 的数的最大的下标)

posted @ 2021-11-17 13:26  梨花满地  阅读(38)  评论(0)    收藏  举报