HDU1541 Stars (树状数组)
来源:互联网 发布:php调用api接口教程 编辑:程序博客网 时间:2024/05/24 16:14
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1541
题目大意:一开始有n个星星,计算第i颗星星的左下方有多少颗星星(不包括本身)。
思路:其实这个题目乍一看的话并没有想到怎么用树状数组。仔细看了看,发现y是按照递增的顺序输入的,也就是可以按照x的坐标求(画图分析下事例就明白了)。要注意下这道题目坐标是从0开始的,而树状数组不能求坐标为0的坐标,所以在求的时候要x+1.
AC代码如下:
#include <cstdio>#include <cstring>using namespace std;int tree[32005],a[15005];int n,x,y;int lowbit(int k){return k & -k;}void add(int k, int num){while(k <= 32000){tree[k] += num;k += lowbit(k);}}int read(int k){int sum = 0;while(k){sum += tree[k];k -= lowbit(k);}return sum;}int main(){while(~scanf("%d",&n)){memset(tree,0,sizeof(tree));memset(a,0,sizeof(a));for(int i = 0; i < n; i ++){scanf("%d%d",&x,&y);a[read(++ x)] ++;//先计算,再修改,因为不包括本身 add(x,1);} for(int i = 0; i < n; i ++){printf("%d\n",a[i]);}}return 0;}
阅读全文
0 0
- hdu1541 Stars (树状数组)
- hdu1541 Stars 树状数组
- HDU1541 Stars【树状数组】
- hdu1541-Stars(树状数组)
- HDU1541 Stars 树状数组
- HDU1541 Stars (树状数组)
- HDU1541 Stars (树状数组)
- hdu1541 Stars(树状数组)
- HDU1541 Stars(树状数组)
- poj2352 && hdu1541 Stars(树状数组)
- HDU1541--Stars(树状数组)
- POJ 2352 HDU1541 Stars(树状数组)
- hdu1541 Stars 树状数组水题
- POJ 2352 HDU1541 Stars(树状数组)
- hdu1541 Stars(树状数组+解释)
- ACM-树状数组之Stars——hdu1541,poj2352
- hdu3792(Twin Prime Conjecture) and hdu1541(Stars)树状数组
- 【树状数组--单点更新区间求和】 hdu1541 Stars
- imagewatch工具的使用方法
- NTFS For Mac的运行会对游戏运行产生影响吗?
- 【教程】如何设置在线建卡线下管理系统激活使用模式
- 用一个故事来说OpenStack的架构
- |1522|对称矩阵的转置
- HDU1541 Stars (树状数组)
- python求解指定输入的两个整数的二进制表达不同位数之和
- 【Caffe】caffe命令行及相关工具使用方法 《很认真的讲讲Caffe》
- Windows下安装MongoDB、MongoVUE、RockMongo
- 关于Android Studio "This version of android studio is incompatible with the gradle version used."的解决方法
- Json结构与封装
- 一个界面显示两个PupupWindows(一个是消息框的形式弹出,另一个是底部弹窗形式弹出)
- 剑指offer题解C++【11】二进制中1的个数
- 1178: 单词数