萌新在线模板--keyboarder_zsq

好像马上就要出去打铁了QAQ,所以是不是要做个模板带过去也玩一玩?
那就做吧。。。
标题就设为萌新模板吧。。。各种萌新讲解对吧。。。。

图论

拓扑排序

最短路

最小生成树

二分匹配

强连通Tarjan

二分

  • 算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)
  • 算法返回一个非递减序列[first, last)中第一个大于val的位置。
upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)
  • 0000001111111,寻找一个满足条件的最左;
int binary_find(int Left,int Right)  
{    
    while(Left<Right)  
    {  
        int mid=Left+(Right-Left)/2;  
        if(Judge(mid))  
            Right=mid;  
        else  
            Left=mid+1;  
    }  
    return Left;  
}  
  • 对于1111000000,寻找一个满足条件的最右;
int binary_find(int Left,int Right)  
{
    while(Left<Right)  
    {
        int mid=Left+(Right-Left+1)/2;  
        if(Judge(mid))  
            Left=mid;  
        else  
            Right=mid-1;  
    }  
    return Left;  
}

树状数组

线段树

posted @ 2017-03-30 14:02  see_you_later  阅读(293)  评论(0编辑  收藏  举报