Manthan、Codefest 19(。皆、定格のために開き、ディビジョン1 +ディビジョン2)D - 順列を復元(セグメントプレフィックスツリーとメンテナンス)

https://codeforc.es/contest/1208/problem/D

私もスポット555でそれを書いていないセグメントツリーの1からn個の接頭語にメンテナンスや、最初の接頭辞からの問合せやAIより大きく前進位置した後、簡単なツリーライン

1つの#defineバグ(X)COUT <<#1 X << "で" << X << ENDL
 2の#define IOのstd :: IOS :: sync_with_stdio(0 3の#include <ビット/ STDC ++。H>
 4  の#define ITER ::イテレータ
 5の#define PAペア< int型、LL>
 6  std名前空間を使用しました。
7の#defineっ長い 
8  の#define MK make_pair
 9  の#define PB一back
 10  の#define SE第
 11  の#define Fiの最初の
 12件の#define LS O << 1つの
 13 Oの#define RS << 1 | 1つの
 14のLL MOD = 998244353 15  のconst INT N = 2E5 + 5 16  [N] LL。
17 LLのMX [N * 4]、LZ [N * 4 ]。
18  ボイドダウン(INT O){
 19      であれば(LZ [O]){
 20          MX [LS] + = LZ [O]。
21          MX [RS] + = LZ [O]。
22の          LZ [LS] + = LZ [O]。
23の          LZ [RS] + = LZ [O]。
24          [O] = 0 LZ 25      }
 26  }
 27  空隙アップ(INT、O INTの L、INT R、INT QL、INT QR、LL V){
 28      場合(L> = QL && R <= QR){
 29          MX [O] + = V。
30の          LZ [O] + = V。
31          リターン;
32      }
 33      INT M =(L + R)/ 2 34      ダウン(O)
35      であれば(QL <= M)まで(LS、L、M、QL、QR、V)。
36      であれば(QR> M)まで(RS、M + 1 、R、QL、QR、V)。
37      MX [O] = MAX(MX [LS]、MX [RS])。
38  }
 39  INT QU(INT O、int型の L、int型のR、LL V){
 40     // のprintf( "L =%のDR =%dの和=%d個の\ n"、L、R、和[O])。
41      であれば(L == R)戻りL。
42      int型 M =(L + R)/ 2 43      ダウン(O)
44      場合(V> = MX [LS])を返す QU(RS、M + 1 、R、V)。
45      リターンQU(LS、L、M、V)。
46      MX [O] = MAX(MX [LS]、MX [RS])。
47  }
 48  INT N。
49  int型B [N]。
50  INT メイン(){
 51      IO。
52      CIN >> N。
53      のためのint型i = 1; iは= <N; iは++ ){
 54          CIN >> [I]。
55      }
 56      のLL H = 0 57      のためには、int型、iがn = <; I = 1 iは++ ){
 58個の          H + = I。
59          アップ(1,1 、N、I、I、H)。
60      }
 61      のためのint型 I = N; iは> = 1; i-- ){
 62          LL X = [I]。
63          INT RES = QU(1,1 、N、X)。
64件の          B [i]は=のRES。
65          アップ(1,1、N、B [i]は、N、 - B [I])。
66      }
67      のためにint型 ; iが<= N I ++は、I = 1 ){
 68          COUT << B [i]は<<」 " 69      }
 70  }
 71  / * 
72  5
 73  0 1 1 1 10
 74  / *

 

おすすめ

転載: www.cnblogs.com/ccsu-kid/p/11424138.html