テンプレートの様々な種類

高速電力

1のtypedef ロング ロングLL;
 2  
。3  LLのmod_pow(LL X、N- LL、LL MOD)
 。4  {
 5      LL RES = 1 ;
 図6      ながら(N> 0 7。     {
 8。         IF(N&1。 // (N-%2 IF 1 ==)
9。              RESの=のRES * X%MOD;
 10          X = X * X%MOD; // xの正方形は
11。          N - >> = 1 ; // N-N- = / 2最後の丸め
12である     }
 13であり、     リターンRES;
 14 }
コードの表示

 

フェンウィックツリー

クエリー間隔と

拡張:クエリ間隔値を最も貧しいです

1  INT lowbit(INT X)// lowbit(X)K ^ 2を表す
2  {
 3。     リターン X&( - X);
 4。 }
 5。 
6。 ボイド更新(INT X、INT K)// 位置におけるX Kが増加
7  {
 8      一方、(X <= N-)
 9。     {
 10          C [X] + = K;
 11          X + = lowbit(X)
 12である     }
 13である }
 14  
15  int型 SUM(INT X)
 16 {
 17。     INT RES = 0 ;
 18は     、一方(X> 0 。19      {
 20          RES + = C [X];
 21である          X- = lowbit(X)
 22である     }
 23れる     リターンRES;
 24  }
 25  
26であるのmemset(C、0はsizeof(C)); // 入力がクリア覚え
27  
28  のためにint型 I = 1を I <= N; Iは++)// フェンウィックツリー治療はアレイ1の指標である
29  {
 30      scanfのを("Dの%、&​​A [I]);
 31は、      更新(I、[I]); // 初期値の各要素の開始は、対応する位置0プラス[I]に
32 }
コードの表示

 

おすすめ

転載: www.cnblogs.com/OFSHK/p/11518428.html