Mo WA自動機ブラシチームのタイトルレコード

尋ね羅区P2709が小さいBであります

  • Moの裸のタイトルチーム、テンプレートのタイトル
  • チームをやっていることはposが同じ種類の右端を押して、範囲の行の順序を頼むPOSは、ソート(POSブロックが配列である)左のポイントを押すことです
  • コード:
    1つの#include <ビット/ STDC ++ H>
     2  の#define Nmaxを50010
     3  
    4  使用して 名前空間STDを、
    5  INT [Nmax個]、TA [数Nmax]、CNT [数Nmax] = { 0 }。
    6  INTのN、M、QN、K。
    7  構造体QUE {
     8      int型のL、R、P、ID。
    9      ブール 演算子 <(CONSTの QUE&X)のconst { リターン(XP ==のP)(XR?> R):( XP> P)。}
     10  } Q [数Nmax]。
    11  
    12  INT メイン(){
     13      のscanf("%D%D%D "&N、&QN、& K)、
     14      のm =のSQRT(n)は、
     15      のためにint型 i = 1 ; iが<= N; iが++)のscanf(" %dの、および[I] );
     16      のためのint型 I = 1 ; I <= QN; iが++ ){
     17          のscanf(" %D%dの"、&​​Q [i]は.L&Q [I] .R);
     18          Q [I]。 P =(Q [i]が.l- 1)/ M;
     19          Q [i]は.ID = I;
     20      }
     21      ソート(Q + 1、Q + QN + 1 )。
    22      INTは L = Q [ 1 ] .L、R = Q [ 1 ] .l- 1、ANS = 0 23      のためにint型 I = 1 ; <; I = QN iは++ ){
     24          ながら、ANS + =( - (Q [i]が.L L L)> 2 *のCNT [[L] + 1)、CNT [ [L]] ++ ;
    25          一方(R <Q [i]の.R)R ++、ANS + =(2 * CNT [[R]] + 1)、CNT [[R]] ++ ;
    26          一方(L <Q [i]が.L)ANS - =(2 * CNT [[L]] - 1)、CNT [L] - 、L ++ 27         一方(R> Q [i]は.R)ANS - =(2 * CNT [[R]] - 1)、CNT [[R]] - 、r--の28          TA [Q [i]は.ID] =のANS。
    29      }
     30      のためのint型 I = 1 ; I <= QN; iは++)のprintf(" %Dを\ n " 、TA [I])。
    31      リターン 0 ;
    32 }
    ヽ✿゜▽゜)ノ

     

おすすめ

転載: www.cnblogs.com/jiecaoer/p/11332677.html