注意树状数组下标

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
bool vis[1005][1005];
int map[1005][1005];
int lowbit(int x)
{return x&(-x);
}
void add(int x,int y,int num)
{for(int i = x;i <=1002;i+=lowbit(i))for(int j = y;j <= 1002;j+=lowbit(j))map[i][j] += num;
}
int get_sum(int x,int y)
{int res = 0;for(int i = x;i > 0;i -= lowbit(i))for(int j = y;j > 0;j -= lowbit(j))res += map[i][j];return res;
}
int main()
{int n,x,y,x1,y1;char c;while(~scanf("%d",&n)){memset(vis,false,sizeof(vis));memset(map,0,sizeof(map));for(int i = 0;i < n;i++){cin>>c;if(c=='B'){cin>>x>>y;if(!vis[x+1][y+1])add(x+1,y+1,1);vis[x+1][y+1] = true;}else if(c=='D'){cin>>x>>y;if(vis[x+1][y+1]){add(x+1,y+1,-1);vis[x+1][y+1] = false;}}else{cin>>x>>x1>>y>>y1;int min1,min2,max1,max2;min1 = min(x+1,x1+1);min2 = min(y+1,y1+1);max1 = max(x+1,x1+1);max2 = max(y+1,y1+1);int k = get_sum(max1,max2) - get_sum(min1-1,max2) - get_sum(max1,min2-1) + get_sum(min1-1,min2-1);printf("%d\n",k);}}}
}

hdu- 2642 Stars 二维树状数组相关推荐

  1. HDU 5517---Triple(二维树状数组)

    题目链接 Problem Description Given the finite multi-set A of n pairs of integers, an another finite mult ...

  2. hduoj Stars 二维树状数组

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

  3. hdu 1892【二维树状数组】

    O(∩_∩)O哈哈~二维树状数组被我搞出来了,太开心了,第一道二维树状数组,(- o -)~zZ 虽然中途还是出问题了,就是S询问的时候我没有考虑坐标的大小问题,还是搜了别人的代码才知道的,看来自己考 ...

  4. hdu 5465(二维树状数组)

    二维bit + 尼姆博奕 #include <iostream> #include <cstdio> #include <cstring> #define Max ...

  5. (二维树状数组)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 ...

  6. HDU 5465 Clarke and puzzle (二维树状数组维护区间异或)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5465 解题思路: 因为要对大量的区间进行异或,所以考虑用二维树状数组就行维护. #include< ...

  7. hdu 1892二维树状数组

    这题我知道是用树状数组,可是好久没打树状数组了,就想用普通方法水过去~~结果--结果--水了好多方法都水不过,出题人真狠呐--我的水方法是对于每一次查询,初始化ans=(x2-x1+1)*(y2-y1 ...

  8. HDU - 5517 Triple(三维偏序-二维树状数组/CDQ分治)

    题目链接:点击查看 题目大意:给出 n 个二元对 ( a , b ) 和 m 个三元对 ( c , d , e ),对于所有 b == e 的二元对和三元对,可以通过某种运算形成一个新的三元对 ( a ...

  9. hdu 5465 Clarke and puzzle (二维树状数组+nim博弈)

    解析: 利用二维树状数组来区间询问异或和,以及单点更新,然后利用nim博弈的结论判断胜负. mymy codecode #include <cstdio> #include <cst ...

最新文章

  1. python定义变量并赋值_Python 变量类型及变量赋值
  2. mysql存储图片_Python
  3. python爬虫技术路线_爬虫学习——中国大学最好排名(技术路线:requests库和bs4)(来源于北理工Python网络爬虫与信息提取网络公开课)...
  4. Java Servlet总结
  5. java注解的继承_Java注解合并,注解继承
  6. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...
  7. 用C语言实现:判断1000-2000年之间的闰年。
  8. mysql unix formtime_linux下find命令-atime,-ctime,-mtime真正含义
  9. ffmpeg vaapi 驱动问题
  10. 基于电商消费行为金融用户的数据梳理
  11. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
  12. RDIFramework.NET开发实例━表约束条件权限的使用-WinForm
  13. 鲇鱼效应”也有副作用
  14. 最新版Ontrack EasyRecovery电脑数据恢复软件应用
  15. edius裁剪快捷键_Edius剪辑视频的两种方法
  16. 批处理(DOS)获取注册表键值
  17. ActiveX 部件不能创建对象
  18. (数据结构)二叉树中序遍历
  19. 苹果cms模板_苹果CMS提示“模板文件不存在”怎么办?
  20. Android--设置显示大小导致APP crash

热门文章

  1. 单月营收超 12 亿元,叮咚买菜如何携手神策数据造就增长神话?
  2. 分享沙龙丨如何打磨一款好产品?
  3. 神策沙龙回顾:大数据技术和金融、房产、理财的深度结合
  4. 译文| 相信指标还是相信经验?
  5. VMware vSphere 6简单部署---VCSA( vCenter Server Appliance)部署
  6. 你需要的是持续的服务改进
  7. 以cisco 3550为例介绍IOS的恢复方法:
  8. 亲测有用的markdown博客生成器
  9. 剑桥大学eap入学测试准备!!!救命稻草
  10. 关于联合利华:我的第一次正式实习的单位!撒花!