设为首页 加入收藏

TOP

POJ - 2352 Stars (树状数组)
2014-11-24 10:13:12 】 浏览:6158
Tags:POJ 2352 Stars

题意:给你星星的坐标(Y递增,若Y相等则X递增),每个星星有个等级,规定它的等级是它左下方的星星个数,输出所有星星的等级

思路:树状数组

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; const int MAXN = 32010; int n,lev[MAXN],c[MAXN]; void add(int x,int d){ while (x < MAXN) c[x] += d,x += x&-x; } int sum(int x){ int res = 0; while (x > 0) res += c[x],x -= x&-x; return res; } int main(){ int x,y; while (scanf("%d",&n) != EOF){ memset(lev,0,sizeof(lev)); memset(c,0,sizeof(c)); for (int i = 0; i < n; i++){ scanf("%d%d",&x,&y); x++; lev[sum(x)]++; add(x,1); } for (int i = 0; i < n; i++) printf("%d\n",lev[i]); } return 0; }
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[C/C++]_[获取URL里的域名主体] 下一篇poj 2240-Arbitrage Bellman-ford..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目