HDU1556 color the ball (树状数组)
来源:互联网 发布:异次元杀人矩阵 编辑:程序博客网 时间:2024/06/02 01:00
http://acm.hdu.edu.cn/showproblem.php?pid=1556
思路:直接用树状数组即可,因为更新的是区间,所以需要更新2次。
比如更新 [1,3] ,n的大小为6,那么update(1,1)其实是更新了[1,6],所以需要将[4,6]的每个元素减一,即update(4,-1).
#include<iostream>#include<stdio.h>#define maxn 100005#define lowbit(x) ((x)&(-(x)))using namespace std;int n,a,b,color[maxn];void update(int x,int y){ while(x<=n) { color[x]+=y; x+=lowbit(x); }}int quary(int x){ int sum=0; while(x>0) { sum+=color[x]; x-=lowbit(x); } return sum;}int main(){ while(scanf("%d",&n)&&n) { for(int x=0;x<=n;x++) color[x]=0; for(int x=0;x<n;x++) { scanf("%d%d",&a,&b); update(a,1);update(b+1,-1); } for(int x=1;x<n;x++) printf("%d ",quary(x)); printf("%d\n",quary(n)); }}
阅读全文
0 0
- hdu1556 Color the ball(树状数组)
- 【HDU1556】Color the ball(树状数组)
- 【HDU1556-color the ball】(树状数组)
- HDU1556 color the ball (树状数组)
- hdu1556 Color the ball (树状数组)
- HDU1556 Color the ball (树状数组)
- [树状数组]HDU1556 Color the ball
- Hdu1556 Color the ball [分块][树状数组]
- [HDU1556] Color the ball - 树状数组
- HDU1556 Color the ball (树状数组)
- hdu1556 Color the ball 树状数组
- 树状数组:HDU1556 Color the ball 【区间更新,单点查询]
- HDU1556 color the ball【树状数组】解题报告
- HDU1556 Color the ball【树状数组】【区间更新】
- HDU1556 color the ball(树状数组)向下查询,向上统计
- hdu1556 Color the ball(树状数组 修改区间,查找值)
- HDU1556 Color the ball(树状数组+抖机灵)
- 【树状数组-区间更新】hdu1556 Color the ball
- Java-基础
- 基于特定领域国土GIS应用框架设计及应用
- 欢迎使用CSDN-markdown编辑器
- 数据结构——线性结构(3)——链栈的实现
- hibernate在用注解设置字段的默认值时遇到的问题
- HDU1556 color the ball (树状数组)
- 【Git】远程仓库的使用
- 第3章 Excel VBA基础语法 【上】
- The disk contains an unclean file system\
- webgl学习笔记二
- SSH综合项目实战(快递) -- day02 EasyUI菜单、实体类导入、spring data使用
- 网络协议
- adb wifi连接手机调试
- linux下在线安装redis