半分nlognの使用を最適化するために、最も長いシーケンスを上昇III--

書式#include <iostreamの> 
の#include <アルゴリズム>
 使用して 名前空間はstdを、
const  int型 N = 100010 ;
int型のn;
INT [N]、Q [N]。

INTメイン(ボイド){ 
    CIN >> N。
    以下のためにint型 i = 0 ; iがn <; iは++)CIN >> [I]。
    int型のlen = 0 ; 
    Q [ 0 ] = - 2E9。
    以下のためにint型 i = 0 ; iがn <; iは++ ){
         int型の L = 0、R = LEN。
        一方、(L < R){
             int型ミッド= L + R + 1 >> 1 もし(Q [中間] <[i])と、L = ミッド。
            他に、R =半ば1 
        } 
        でlen = MAX(LEN、R + 1 )。
        Q [R + 1 ] = [I]。
    } 
    COUT << LEN << ENDL。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/programyang/p/11256478.html