• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋    

            題目地址 :

            http://poj.org/problem?id=2352

            題目描述:

            Stars
            Time Limit: 1000MSMemory Limit: 65536K
            Total Submissions: 14814Accepted: 6404

            Description

            Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and not to the right of the given star. Astronomers want to know the distribution of the levels of the stars. 

            For example, look at the map shown on the figure above. Level of the star number 5 is equal to 3 (it's formed by three stars with a numbers 1, 2 and 4). And the levels of the stars numbered by 2 and 4 are 1. At this map there are only one star of the level 0, two stars of the level 1, one star of the level 2, and one star of the level 3. 

            You are to write a program that will count the amounts of the stars of each level on a given map.

            Input

            The first line of the input file contains a number of stars N (1<=N<=15000). The following N lines describe coordinates of stars (two integers X and Y per line separated by a space, 0<=X,Y<=32000). There can be only one star at one point of the plane. Stars are listed in ascending order of Y coordinate. Stars with equal Y coordinates are listed in ascending order of X coordinate. 

            Output

            The output should contain N lines, one number per line. The first line contains amount of stars of the level 0, the second does amount of stars of the level 1 and so on, the last line contains amount of stars of the level N-1.

            Sample Input

            5
            1 1
            5 1
            7 1
            3 3
            5 5

            Sample Output

            1
            2
            1
            1
            0
             與樹狀數組的解法一樣,  查詢更新就可以了. 
            	樹狀數組 解法傳送門 : http://www.cnblogs.com/MiYu/archive/2010/08/26/1808963.html 
            代碼如下 : 
            /*
            Mail to   : miyubai@gamil.com
            Link      : http://www.cnblogs.com/MiYu  || http://m.shnenglu.com/MiYu
            Author By : MiYu
            Test      : 1
            Complier  : g++ mingw32-3.4.2
            Program   : POJ_2352
            Doc Name  : Stars
            */
            //#pragma warning( disable:4789 )
            #include <iostream>
            #include <fstream>
            #include <sstream>
            #include <algorithm>
            #include <string>
            #include <set>
            #include <map>
            #include <utility>
            #include <queue>
            #include <stack>
            #include <list>
            #include <vector>
            #include <cstdio>
            #include <cstdlib>
            #include <cstring>
            #include <cmath>
            #include <ctime>
            using namespace std;
            struct P{
                   int x, y;
            }p[15010];
            int seg[100000];
            int NN = 32768, res[15010];
            int get ( int &n ) {
                int i = 1;
                while ( i < n ) i << 1;
                return i;    
            }
            void modify ( int &pos ) {
                 pos += NN;
                 seg[pos] ++;
                 while ( pos > 1 ) {
                       if ( ~pos & 1 ) seg[pos>>1] ++;
                       pos >>= 1;
                 }
            }
            int query ( int pos ) {
                 pos += NN;  
                 int sum = seg[pos];
                 while ( pos > 1 ) {
                        if ( pos & 1 ) {
                             sum += seg[pos>>1];  
                        }      
                        pos >>= 1;
                 }   
                 return sum;
            }
            int main ()
            {
                int N;
                while ( scanf ( "%d", &N ) == 1 ) {
                       int pos;
                       memset ( res, 0, sizeof ( res ) );
                       memset ( seg, 0, sizeof ( seg ) );
                       for ( int i = 0; i < N; ++ i ) {
                              scanf ( "%d%*d", &pos );
                              res[ query ( pos ) ] ++;
                              modify ( pos );   
                       }   
                       for ( int i = 0; i < N; ++ i ) {
                            printf ( "%d\n", res[i] );     
                       } 
                }
                return 0;
            }
            

             

            国产精品久久久天天影视香蕉| 久久国产精品99久久久久久老狼| 久久人做人爽一区二区三区| 一本一道久久综合狠狠老| 日韩AV无码久久一区二区| 99久久伊人精品综合观看| 精品一二三区久久aaa片| 亚洲国产精品久久久久婷婷软件| 99久久综合国产精品免费 | 久久e热在这里只有国产中文精品99 | 久久久久久国产精品美女| 色综合久久久久综合体桃花网| 精品久久人人爽天天玩人人妻| 91精品国产91久久久久久| 亚洲午夜无码久久久久| 久久强奷乱码老熟女| 亚洲国产精品久久久久| 久久亚洲日韩精品一区二区三区| 久久久久这里只有精品| 国产成人精品久久一区二区三区| 久久91精品国产91久| 亚洲国产高清精品线久久| 97精品国产97久久久久久免费| 日韩精品久久久久久免费| 中文字幕人妻色偷偷久久| 久久人人爽人人爽人人片AV麻烦| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久AV高清无码| 狠狠色伊人久久精品综合网| 久久久精品人妻一区二区三区四 | 精品国产VA久久久久久久冰| 亚洲午夜久久久久久噜噜噜| 日韩人妻无码一区二区三区久久99 | 人妻无码αv中文字幕久久琪琪布| 久久精品国产亚洲77777| 久久久久亚洲AV无码专区体验| 久久精品综合网| 国内精品久久久久影院薰衣草| 亚洲综合久久夜AV | 少妇精品久久久一区二区三区 | 无码精品久久久天天影视|