ナンバースタースター「の2 4.1例を通して」#1 10114

1536:星スターの【例2】数


制限時間:256ミリ秒のメモリの制限:65536キロバイト
の提出:630番号で:282 

説明[タイトル]

ウラル1028:オリジナルタイトルから

空にはいくつかの星があり、星は、各スター座標を持って、異なる位置にありました。左下星場合と(正及び左側の正含む)  K Kスター、この星は、言われている  K Kレベル。

例えば、星上記図  53 3つのレベル(1 2 4、その左下2,4)は、星の  2 4、4は  ステージ1。図の実施形態が存在する  10 0、21レベル1、12レベル2、13 3レベルの星。

与えられた星の位置、星の出力レベルの数。

トピックの意味:与えられた  N- N-点は、各評価点の定義は、底部の点は、点の数、各レベルについて検定統計量点の数を(直接的以下、放置含む)放置します。

[Enter]を

最初の行の整数  N Nは、星の数を表します。

次の  N Nは2つの整数の座標で、星の各ラインの座標を与える  X Y X、Yを表します。

重複の星はありません。星押し  Y Yは、所定の昇順座標Y Yは、に応じて、同一の座標  X、X座標が増加する順に示されています。

[出力]

N N行、各整数、それぞれ、  0 0、1、レベル1、2ステージ2、...、N - 1つのレベルN-1の星の数。

[サンプル入力]

5 
1 
5 1 
7 1 
3 3 
5

[サンプル出力]

1 
2 
1 
1 
0

[注]

データ範囲とヒント:

すべてのデータのための1 N 1.5 × 10 4 0 X Y 3.2 × 10 4 1≤N≤1.5104,0≤x×、104×y≤3.2。

[ソース]


ノー

 

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
int型 [ 15005 ]、合計[ 32005 ];
整数 N、M = 32001 INT lowbit(INT X){ 戻り X&( - X);}
 ボイド更新(INT X){
     ため(; X <= Mであり、X + = lowbit(x))の和[X] ++ ; 
} 
ボイド(へINT X){
     int型 RES = 0 (; X> 0 ; X- = lowbit(X))RES + = 和[X]。
    [RES] ++ ; 
}
INT メイン(){
     // freopenは( "test.in"、 "R"、STDIN)。
    scanf関数(" %のD "、&N)
    以下のためにint型 i = 1 ; iが++; iが<= N ){
         int型X、Y。
        scanf関数(" %dの%のD "、およびX&Y)。
        (xに + 1)、更新(X + 1 )。
    } 
    のためにint型 I = 0 ; iがN <; Iは++)のprintf(" %d個の\ n " 、[I])。
    リターン 0 ; 
}

 

 

 

おすすめ

転載: www.cnblogs.com/fdezlsq/p/11432274.html