CF269B温室効果(DP LIS)

トピック怖いシリーズは、浮動小数点の位置のこの文字列は、何回、少なくとも非同盟後に厳密に単調シーケンスを増やすことができますされて依頼する問題を特定し、慎重に質問を読んで、私は泣く見るために

なぜ彼は、m個のサブ領域を望んでいたので、それをされ、そしてそれぞれの種は私の領域、あなただけのすべての非整列厳密に増加仕事を置くことができる位置していることが必要です

この質問は、ライン上の合計数を減らすことによって、その後LISを求め、実際には、シンプルであることを、あまりにもNすることはできません^ 2を知らない、私はここで使用したスタックシミュレーションnlognです

書式#include <iostreamの> 
の#include <CStringの> 
の#include <cstdioを> 
する#include <マップ> 
書式#include <アルゴリズム> 
書式#include <キュー> 
の#include < 設定 >
 の#define ULL符号なしの長い長い
 使用して 名前空間はstdを、
typedefの長い 長いLL。
ペアのtypedef < int型int型 > PLL。
CONST  INT N = 1E5 + 10 INT F [ 5010 ] [ 5010 ]。
int型[N]と、
ベクター< 整数 > NUM;
int型のmain(){
     int型、nは
    int型メートル;
    int型私は、
    CIN >> N >> M。
    以下のための(iは= 1 ; I <= N; I ++ ){
         二重X。
        scanf関数(" %D%LF "、&​​[i]は、&x)は、
    } 
    num.clear()。
    num.push_back([ 1 ])。
    ための式(I = 2、iが<= N; iが++ ){
         場合([I]> = num.back())
            num.push_back([I])。
        そうしないと{
             INT POS = UPPER_BOUND(num.begin()、num.end()、[I]) - num.begin()。
            NUM [POS] = [I]。
        } 
    } 
    int型 ANS = N-(INT )num.size(); 
    coutの << ANS << てendl;
    リターン 0 ; 
}
コードの表示

 

おすすめ

転載: www.cnblogs.com/ctyakwf/p/12637480.html
おすすめ