問題への羅区P2032スキャンソリューション

フェイス質問

単調減少範囲を維持するためのキューに、キューの先頭には、間隔の単調な最大値です。

チームへの番号の前に数がチームにフロントのいくつかを説明するために、後方の数よりも小さい場合なので答えには影響しません。

 

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
INT Q [ 2000010 ]。
INT [ 2000010 ]。
int型 B [ 2000010 ]。
int型の ANS [ 2000010 ]。
INT のmain()
{ 
    int型N、K。
    CIN >> N >> K。
    以下のためにint型 i = 1 ; iが<= N; iが++ ){ 
        scanf関数(" %dを"[I])。
    } 
    INT H = 1、T = 0 以下のためにint型私= 1 ; iが<= N; iが++ ){
         一方(B [H] + K- 1 <I && H <= T)++ H。
        一方([I]> Q [t]は&& H <= T) - T。
        B [ ++ T] = I。
        Q [t]は = [I]を、
        ANS [I] = Q [H]。
    } 
    のためにint型 I = kは、iが++; iが<= N ){ 
        COUT << ANS [I] << ENDL。
    } 
}

 

おすすめ

転載: www.cnblogs.com/kamimxr/p/11345483.html