• codevs 2620 战壕


    时间限制: 1 s
     空间限制: 32000 KB
     题目等级 : 黄金 Gold
    题目描述 Description

    Smart和Sarah正在玩一个即时战略游戏。

    Smart在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限,但是,战壕有一个弱点:就是只能攻击它的左下方,说白了就是横、纵坐标都不大于它的点。这样,Sarah就可以从别的地方进攻摧毁战壕,从而消灭Smart的部队。

    战壕都有一个保护范围,同它的攻击范围一样,它可以保护处在它左下方的战壕。所有处于它保护范围的战壕都叫做它的保护对象。这样,Sarah就必须找到Smart的战壕中保护对象最多的战壕,从而优先消灭它。

    现在,由于Sarah没有时间来计算,所以拜托你来完成这个任务:给出这n个战壕的坐标(xi、yi),要你求出保护对象个数为0,1,2……n-1的战壕的个数。

    输入描述 Input Description

    第一行,一个正整数n(1≤n≤5000)

    接下来n行,每行两个数xi,yi,代表第i个点的坐标(1≤xi,yi≤32767)注意:可能包含多重战壕的情况(即有数个点在同一坐标)。

    输出描述 Output Description

    输出n行,分别代表保护对象有0,1,2……n-1个的战壕个数。

    样例输入 Sample Input

    5

    1 1

    5 1

    7 1

    3 3

    5 5

    样例输出 Sample Output

    1

    2

    1

    1

    0

    数据范围及提示 Data Size & Hint

    时间限制

    1s

    树状数组 

    屠龙宝刀点击就送

    #include <algorithm>
    #include <cstdio>
    #define N 50005
    
    struct node
    {
        int x,y;
        bool operator<(node a)const
        {
            if(x!=a.x) return x<a.x;
            else return y<a.y;
        }
    }zh[N];
    using namespace std;
    int n,tag[N],ans[N];
    inline int lowbit(int x) {return x&(-x);}
    inline int ask(int x)
    {
        int ret=0;
        for(;x;x-=lowbit(x)) ret+=tag[x];
        return ret;
    }
    void modify(int x,int y)
    {
        for(;x<=32767;x+=lowbit(x))
            tag[x]+=y;
    }
    int main(int argc,char *argv[])
    {
        scanf("%d",&n);
        for(int i=1;i<=n;++i) scanf("%d%d",&zh[i].x,&zh[i].y);
        sort(zh+1,zh+1+n);
        for(int i=1;i<=n;++i)
        {
            ans[ask(zh[i].y)]++;
            modify(zh[i].y,1);
        }
        for(int i=0;i<n;++i) printf("%d
    ",ans[i]);
        return 0;
    }
  • 相关阅读:
    37.使用FileWriter类向文本文件写数据
    36.使用FileReader读取文本文件
    35.使用FileOutputStream类向文本文件写数据
    34.使用FileInputStream类读取文本文件
    33.使用BufferedWriter和FileWriter类写文本文件
    32.使用BufferedReader和FileReader读取文本文件
    31.使用BufferedReader和FileReader读取文本文件
    30.解决中文乱码
    框架搭建资源 (一) V(视图)C(控制)模式
    GPS转换为百度坐标
  • 原文地址:https://www.cnblogs.com/ruojisun/p/7693528.html
Copyright © 2020-2023  润新知