POJ 2352 树状数组

原创 2016年08月29日 19:52:44

这个树状数组写起来就轻松多了。因为这个点的输入的要求比较特殊,刚好都已经构成了写树状数组的要求,实际上只需要把数据直接进行树状数组的add和sum操作即可。可以模拟很轻松得到逻辑的答案,唯一要注意的就是这些点坐标是从0开始的,处理一下就好了。

#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;

const int maxn=32010;
int n,c[maxn],maxs;
struct Node
{
    int x,y;
}p[maxn];

int lowbit(int x)
{
    return x&(-x);
}

void add(int x,int d)
{
    while(x<=maxn)
    {
        c[x]+=d;x+=lowbit(x);
    }
}

int sum(int x)
{
    int ret=0;
    while(x>0)
    {
        ret+=c[x];
        x-=lowbit(x);
    }
    return ret;
}

int main()
{
     while(scanf("%d",&n)!=EOF)
      {
        maxs=-1;
          for(int i=1;i<=n;i++)
          {
              scanf("%d%d",&p[i].x,&p[i].y);
              p[i].x++;
          }
          int ans[maxn]={0};
           for(int i=1;i<=n;i++)
           {
               add(p[i].x,1);
               ans[sum(p[i].x)-1]++;
           }
           for(int i=0;i<=n-1;i++)
            printf("%d\n",ans[i]);
      }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ2352 Stars 【树状数组】or【线段树】

Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31172   Accepte...
  • u012846486
  • u012846486
  • 2014年07月13日 11:41
  • 946

【POJ 2892】 Tunnel Warfare(树状数组+二分)

【POJ 2892】 Tunnel Warfare(树状数组+二分) Time Limit: 1000MS   Memory Limit: 131072K To...
  • ChallengerRumble
  • ChallengerRumble
  • 2016年02月26日 17:23
  • 1342

POJ 2352 树状数组

这是第一道自己想出来的树状数组题目。。好心酸。。 A了老夫一下午,前40分钟在想是树状数组还是线段树,最后终于在树状数组上找到思路了。。嘤嘤。。。 题目大意是让计算每个star左下方星星的个数,并...
  • Picknight
  • Picknight
  • 2015年03月15日 18:52
  • 143

poj 2352 树状数组

Astronomers often examine star maps where stars are represented by points on a plane and each star h...
  • lwyeluo
  • lwyeluo
  • 2014年09月02日 10:05
  • 516

POJ 2352(树状数组)

Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28390   Accepte...
  • u012350533
  • u012350533
  • 2013年11月30日 13:45
  • 578

poj 2352 树状数组

Description Astronomers often examine star maps where stars are represented by points on a plane a...
  • reborn_ZhMZ
  • reborn_ZhMZ
  • 2016年04月12日 12:56
  • 94

poj 2352(树状数组)

Stars Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u SubmitStatus D...
  • fenghoumilin
  • fenghoumilin
  • 2016年08月21日 14:10
  • 107

poj 2352 树状数组

Description Astronomers often examine star maps where stars are represented by points on a plane a...
  • lixuepeng_001
  • lixuepeng_001
  • 2016年03月20日 15:59
  • 107

POJ 2352 (树状数组)

题目大意: 在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为: (x0,y0),x0<=x 且y0<=y。如果左下位置有a个星星,就表示这个星 星属于level x ...
  • qq_35437080
  • qq_35437080
  • 2016年08月22日 17:25
  • 61

poj3468树状数组之区间更新+区间询问

Language: Default A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 1...
  • xingyeyongheng
  • xingyeyongheng
  • 2014年03月11日 19:10
  • 2799
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 2352 树状数组
举报原因:
原因补充:

(最多只允许输入30个字)