HDOJ 1541 star(树状数组)
来源:互联网 发布:碳基生物知乎 编辑:程序博客网 时间:2024/05/19 04:03
http://acm.hdu.edu.cn/showproblem.php?pid=1541
这道题告诉我们若干颗星星的坐标,告诉我们的时候y坐标已经按照升序排列了。对于每一颗星,它的等级数等于它左边和左上角星星的颗数。最后问每一颗星星的等级。
把星星按照给我们的顺序(就是y坐标从小到大的顺序),依次把一个数组中下标为x的元素加1。对于某一颗星,坐标为x,那么把数组中下标为x及之前的所有元素相加,就是求了这颗星左边及左上角的星星数,然后再把下标为x的元素加1。(这颗星星本身不能算进去)
#include<cstdio>#include<cstring>#include<cstdio>#include<algorithm>#define N 32005using namespace std;int n, c[N], level[N];int lowbit(int x){ return x & (-x);}int query(int x){ int sum = 0; while (x > 0) { sum += c[x]; x -= lowbit(x); } return sum;}int add(int i, int d){ while (i <= 32001) { c[i] += d; i += lowbit(i); }}int main(){ int ans, x, y; while (~scanf("%d", &n)) { memset(c, 0, sizeof(c)); memset(level, 0, sizeof(level)); for (int i = 1; i <= n; i++) { scanf("%d%d", &x, &y); x++; ans = query(x); level[ans]++; add(x, 1); } for (int i = 0; i < n; i++) printf("%d\n", level[i]); } return 0;}
0 0
- HDOJ 1541 star(树状数组)
- HDU 1541 star 树状数组
- POJ 2352 star (树状数组)
- hdu 2642 star(二维树状数组)
- hdu1541 star 树状数组
- hdoj 1541 树状数组(水题,被坑记)
- HDOJ Stars 1541(树状数组)
- poj 2352 star 树状数组
- 树状数组 POJ 2352 Star
- POJ 2352 Star 树状数组
- POJ 2352 Star (树状数组)
- 【树状数组】 HDOJ 1541 Stars
- HDOJ 1541 Stars(树状数组)
- HDOJ题目1541 Stars(树状数组单点更新)
- hdoj Stars 1541 (树状数组模板&&线段树)
- POJ 2352 Star Treap||树状数组
- 树状数组入门之POJ 2352 Star
- POJ 2352 HDOJ 1541 Stars(树状数组)
- 请说出const和宏定义相比有什么优点? 至少要说明两点:
- Cricle One --- 浮点陷阱的一点学习
- android studio 开发环境搭建及常见问题解决方法
- HDOJ 2073 无限的路
- 记录
- HDOJ 1541 star(树状数组)
- 基于SVM与Meanshift的目标跟踪
- 异步加载网络图片(多线程,和AsyncTask)
- 链表的部分翻转
- 离散数学4___关系矩阵
- 局部变量能否和全局变量同名?
- bzoj3144【HNOI2013】切糕
- Linux笔记(33)——软件安装包分类
- LR script-1