• <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>

            poj2352

            Stars

            Time Limit: 1000MS Memory Limit: 65536K
            Total Submissions: 22097 Accepted: 9620

            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

            Hint

            This problem has huge input data,use scanf() instead of cin to read data to avoid time limit exceed.

            Source

            Ural Collegiate Programming Contest 1999

            統計問題嘛,用樹狀數組,線段樹都可以
            #include <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            #include 
            <cassert>
            #include 
            <iostream>
            #include 
            <sstream>
            #include 
            <fstream>
            #include 
            <map>
            #include 
            <set>
            #include 
            <vector>
            #include 
            <queue>
            #include 
            <algorithm>
            #include 
            <iomanip>
            using namespace std;
            #define maxn 15005
            #define maxlen 32005
            #define lowbit(x) x&(-x)
            #define max(a,b) a>b?a:b
            int n;
            int a,b;
            int f[maxlen];
            int level[maxn];
            void add(int x,int nn)
            {
                
            while(x<=32001)//這里要加1
                {
                    f[x]
            +=nn;
                    x
            +=lowbit(x);
                }

            }

            int getsum(int x)
            {
                
            int sum=0;
                
            while(x>0)
                
            {
                    sum
            +=f[x];
                    x
            -=lowbit(x);
                }

                
            return sum;
            }

            int main()
            {
                
            int tmp;
                scanf(
            "%d",&n);
                memset(f,
            0,sizeof(f));
                memset(level,
            0,sizeof(level));
                
            for(int i=1; i<=n; i++)
                
            {
                    scanf(
            "%d%d",&a,&b);
                    tmp
            =getsum(a+1);//坐標又可能為0,+1
                    level[tmp]++;
                    add(a
            +1,1);
                }

                
            for(int i=0; i<=n-1; i++)
                    printf(
            "%d\n",level[i]);
                
            return 0;
            }



            posted on 2012-07-24 19:25 jh818012 閱讀(171) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            三级三级久久三级久久| 久久久久国产| 久久久91精品国产一区二区三区| 久久精品国产亚洲AV嫖农村妇女| 一本久久久久久久| 久久成人国产精品免费软件| 久久国产精品久久久| 久久有码中文字幕| 欧美久久综合性欧美| 综合人妻久久一区二区精品| 94久久国产乱子伦精品免费| 久久精品国产亚洲av麻豆小说| www亚洲欲色成人久久精品| 天天躁日日躁狠狠久久| 久久久久国产一级毛片高清板| 久久99热精品| 日日躁夜夜躁狠狠久久AV| 久久精品国产亚洲av瑜伽| 日韩精品国产自在久久现线拍| 久久久久99精品成人片试看| 91麻豆国产精品91久久久| 久久久久国产精品三级网 | 精品国产婷婷久久久| 久久w5ww成w人免费| 精品国产乱码久久久久久呢| 天堂无码久久综合东京热| 久久精品免费大片国产大片 | 久久亚洲国产成人精品无码区| 久久精品国产精品亚洲精品| 久久99精品久久只有精品| 久久久久久久久久久久中文字幕 | 91精品国产91久久| 精品国产婷婷久久久| 久久国产精品免费| 久久性精品| AV无码久久久久不卡蜜桃| 国产成人精品久久| 久久99精品国产99久久6男男| 99久久国产热无码精品免费| 久久99久久99小草精品免视看| 成人精品一区二区久久久|