• poj 2352 Stars 树状数组


    树状数组,果断1A啦,心情舒畅啊,哈哈

    先依照y轴从小到大排序,然后一次增加并统计每一个点得x坐标,这道题数据不严谨啊,在y轴同样得情况下,应该以x轴从大到小排序,可我都没排x轴就过了

    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    #include<memory.h>
    using namespace std;
    int Max;
    struct node{
        int x,y;
    }a[15005];
    int tree[32005];
    bool cmp(node a,node b){
        return a.y<b.y;
    }
    int lowbit(int x){
        return x&(-x);
    }
    void add(int i,int val){
        while(i<=Max){
            tree[i]+=val;
            i+=lowbit(i);
        }
    }
    int sum(int i){
        int r=0;
        while(i>=1){
            r+=tree[i];
            i-=lowbit(i);
        }
        return r;
    }
    int main(){
     //   freopen("in.txt","r",stdin);
        int n;
        Max=0;
        while(~scanf("%d",&n)){
            for(int i=0;i<n;i++){
                scanf("%d%d",&a[i].x,&a[i].y);
                a[i].x++;
                a[i].y++;
                if(a[i].x>Max) Max=a[i].x;
            }
            sort(a,a+n,cmp);
            memset(tree,0,sizeof(tree));
            int ans[15005];
            memset(ans,0,sizeof(ans));
            for(int i=0;i<n;i++){
                add(a[i].x,1);
                ans[sum(a[i].x)]++;
            }
            for(int i=1;i<=n;i++)
                printf("%d
    ",ans[i]);
        }
    }
    

  • 相关阅读:
    delphi消息发送字符串
    Delphi2007 在Win10 下运行报错 Assertion failure
    python 定时器
    python 直接赋值 深浅拷贝
    python 闭包
    python 对象
    c++ sizeof和strlen
    c++入门笔记(一)
    python实现四种排序逻辑与代码
    webrtc autotest
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4481596.html
Copyright © 2020-2023  润新知