优美的二分模型

Posted smartljy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优美的二分模型相关的知识,希望对你有一定的参考价值。

在序列中寻找大于等于x的最小值

 

int findl(int x) 
{
    int l = 1, r = n + 1;
    while(l < r)
    {
        int mid = l + r >> 1;
        if(a[mid].pos >= x)
            r = mid;
        else
            l = mid + 1;
    }
  //mid取不到r,而r一开始取n+1有利于查找正确答案
}

 

在序列中寻找小于等于x的最大值

 

int findr(int x)                   
{
    int l = 0, r = n;
    while(l < r)
    {
        int mid = l + r + 1 >> 1;
        if(a[mid].pos<= x)
            l = mid;
        else
            r = mid - 1;
    }
   //原理同上
}

 

以上是关于优美的二分模型的主要内容,如果未能解决你的问题,请参考以下文章

AJAX相关JS代码片段和部分浏览器模型

[编程]-机器学习-SVM

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

如何防止在背面片段导航上再次设置视图模型

弄懂分治系列:换个模型,二分查找还会用吗?