二分求最大值

Posted nicholastwo

tags:

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

#include<iostream>
using namespace std;
int getMax(int array[], int begin, int end){
    int Max1 = 0;
    int Max2 = 0;
    if (begin == end) {//划分到最后,剩余1个数
        return array[begin] = array[end];
    }
    else if(begin+1==end){//划分到最后,剩余2个数
        return array[begin]> array[end]?array[begin]: array[end];//谁大返回谁。
    }
    else{//如果剩余的数多于2个,划分成两段,选出这两段的最大值
        int mid=(begin+end)/2;
        Max1=getMax(array,begin,mid);
        Max2=getMax(array,mid+1,end);
        return Max1>Max2?Max1:Max2;
    }
};

以上是关于二分求最大值的主要内容,如果未能解决你的问题,请参考以下文章

求二分图最大匹配——Hopcroft-Krap算法

二分求最大值

二分图最大权完美匹配KM算法模板

二分查找+二分答案(Java)

匈牙利算法求二分图求最大匹配

网络流24题-飞行员配对方案问题-二分图最大匹配