正题

题目链接:
http://poj.org/problem?id=2352


题意

有n个坐标不同的星星,一个星星的等级等于在它左下的所有星星数量,求各个等级的星星数。
注:输入顺序保证Y坐标是升序,Y坐标相同的情况下X坐标也是升序的。


解题思路

用树状数组表示在x坐标上有多少个星星,因为Y坐标升序输入所以不用考虑Y坐标,然后用树状数组求1到x坐标上的星星总数就好了。


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int c[82010],w[15001],n,s,pre,a;
int lowbit(int x)
{return x&(x^(x-1));}
void change(int x,int num)//修改
{int i=x;while(i<=82000){c[i]+=num;i+=lowbit(i);}
}
int getsum(int x)//求值
{int sum=0;while (x>0){sum+=c[x];x-=lowbit(x);}return sum;
}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d",&a,&w[i]);a++;//避免读入0死循环w[i]=getsum(a);//就等级change(a,1);//插入该星星}sort(w+1,w+1+n);//排序pre=w[1];s=1;for (int i=2;i<=n;i++){if (w[i]!=pre)//等级不相同{printf("%d\n",s);for (int j=pre+1;j<w[i];j++) //输出中间printf("0\n");pre=w[i];s=1;}else s++;}printf("%d\n",s);for (int i=pre+1;i<n;i++) printf("0\n");//输出剩余的
}

POJ2352-Stars【树状数组】相关推荐

  1. POJ2352 stars(树状数组)

    题目:Stars #include <stdio.h> #include <string.h> const int N = 32005; int C[N]; int level ...

  2. poj2352(树状数组)

    题目链接:https://vjudge.net/problem/POJ-2352 题意:在直角坐标系中给出n个点的 (x,y),(0<=x,y<=32000),定义每个点的level为(x ...

  3. POJ 2481 Cows POJ 2352 Stars(树状数组妙用)

    题目链接:POJ 2481 Cows POJ 2352 Stars 发现这两个题目都跟求逆序数有着异曲同工之妙,通过向树状数组中插入点的位置,赋值为1,或者++,然后通过求和来判断比当前 点 &quo ...

  4. HDU-1541 Stars 树状数组

    http://acm.hdu.edu.cn/showproblem.php?pid=1541 题义为给定N个点按照先x轴,后y轴坐标排序,求某一点的左下角的星星数量,刚开始用二维的树状数组来做,结果肯 ...

  5. POJ 2352 HDU1541 Stars(树状数组)

    题意:给出n个星星的点的坐标,每个坐标都不相同,坐标按y递增给出,y相同时,按x坐标递增给出,每个星星都有等级,等级是这个星星左下方的星星的个数,不包括它自己,输出每个等级星星的数量. 分析:由于y递 ...

  6. [POJ2352] Stars 夜空星辰 - 树状数组

    题目描述 夜空中有N颗恒星(N≤100000),每颗恒星具有其坐标(x, y)(0≤x, y≤100000).现在,天文学家要对这些恒星进行分类,分类的标准如下:对于任意一颗恒星S(x,y),如果存在 ...

  7. poj 2352 Stars 线段树(先建后查/边建边查)/树状数组三种方法思路详解,带你深入了解线段树难度⭐⭐⭐★

    poj 2352 Stars 目录 poj 2352 Stars 1.树状数组 2.线段树,先建树后查找 3.线段树,边建树边查找 Description Astronomers often exam ...

  8. HDU5126 stars(4维偏序->cdq套cdq+树状数组)

    stars 题目大意: 在一个三维空间当中,每次进行一个操作,添加一个点或者统计空间中的某一个长方体范围内的所有点 三维空间中我们用两个点即可确定一个长方体. 首先效仿平面二维数点的方法,根据容斥原理 ...

  9. hduoj Stars 二维树状数组

    话说这道题是一道不折不扣的二维树状数组的水题,可是对于我这种菜鸟中的vip来说,却还是纠结了很久很久..留下做个模板吧..... 题目: Yifenfei is a romantic guy and ...

  10. (二维树状数组)E - Stars

    E - Stars 题意:B表示点亮改点,D表示熄灭,Q查询区间内亮的个数 Sample Input 5 B 581 145 B 581 145 Q 0 600 0 200 D 581 145 Q 0 ...

最新文章

  1. asp.net webapi 微信接口接入
  2. 苏宁张近东和富士康郭台铭为什么要抛售阿里巴巴股票?
  3. 10. javacript高级程序设计-DOM
  4. 边做边学:《 Inter Planetary File System》简介
  5. CSU 1558 和与积
  6. [xPlugins] 开发中常用富文本编辑器介绍
  7. 互联网“收割”网瘾父母
  8. js中的cookie的读写操作
  9. syslinux下载链接
  10. 搜狗拼音输入法4.2_巧用搜狗快速输入特殊字符与表情字符画
  11. 中国能源统计年鉴资源网站
  12. 世界首个体细胞克隆猴在中国诞生;马云在达沃斯变魔术;阿里通信回应工信部约谈丨价值早报
  13. 迪杰斯特拉模板-刘汝佳紫书
  14. 关于利用rundll32执行程序的分析
  15. linux ubuntu bionic,如何升级Ubuntu到18.04 LTS Bionic Beaver
  16. 在线考试系统,在线考试后台管理
  17. 正则改造VS Code里React类组件的自定义snippet
  18. 08音视频设备类、09信息技术设备、16电信终端设备CCC认证流程费用及周期
  19. Split()拆分字符串与StringTokenizer拆分字符串
  20. 《从一到无穷大》阅读笔记1

热门文章

  1. 计算数字的出现次数 java_关于Java:如何计算数字在.txt文件中出现的次数
  2. python 密码学 模块_python学习-itsdangerous模块-黑马程序员技术交流社区
  3. 达梦数据查询编码_查询数据库的编码方式
  4. mysql100链接同时处理_php 连接MYSQL 两个同时连接为什么只有一个连接成功,必须删掉一个,另外一个才查询生效出结果,下附代码...
  5. 51. N 皇后018(回溯法求解)
  6. rust火箭基地主楼开启方法_Rust 为什么能成为 Stack Overflow 最受欢迎的语言?
  7. [C++11]独占的智能指针unique_ptr的删除器
  8. GCD and LCM HDU - 4497(素数打表+唯一分解定理)求多少种情况
  9. java 先进先出的map_「 深入浅出 」java集合Collection和Map
  10. 实现option上下移动_js: 实现Select的option上下移动 | 学步园