题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2642/

代码如下:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define scan(n) scanf("%d",&n)
  4. #define f(i,a,b) for(int i=a;i<=b;i++)
  5. #define pf printf
  6. #define maxn 1005
  7. int c[maxn][maxn];
  8. int lowbit(int x)
  9. {
  10. return x&(-x);
  11. }
  12. void update(int x,int y,int C)
  13. {
  14. for(int i=x;i<maxn;i+=lowbit(i))
  15. {
  16. for(int j=y;j<maxn;j+=lowbit(j))
  17. {
  18. c[i][j]+=C;
  19. }
  20. }
  21. }
  22. int query(int x,int y)
  23. {
  24. int ans=;
  25. for(int i=x;i;i-=lowbit(i))
  26. {
  27. for(int j=y;j;j-=lowbit(j))
  28. {
  29. ans+=c[i][j];
  30. }
  31. }
  32. return ans;
  33. }
  34. int query(int x,int y,int xx,int yy)
  35. {
  36. return query(xx,yy)+query(x-,y-)-query(x-,yy)-query(xx,y-);
  37. }
  38. int main()
  39. {
  40. int n;
  41. //freopen("input.txt","r",stdin);
  42. //freopen("output.txt","w",stdout);
  43. scan(n);
  44. char s[];
  45. int x,y,xx,yy;
  46. while(n--)
  47. {
  48. scanf("%s",&s);
  49. if(s[]=='B')
  50. {
  51. scan(x);
  52. scan(y);
  53. x++;y++;
  54. if(query(x,y,x,y))continue;
  55. update(x,y,);
  56. }
  57. else if(s[]=='D')
  58. {
  59. scan(x);
  60. scan(y);
  61. x++,y++;
  62. if(!query(x,y,x,y))continue;
  63. update(x,y,-);
  64. }
  65. else if(s[]=='Q')
  66. {
  67. scanf("%d%d%d%d",&x,&xx,&y,&yy);
  68. if(x>xx)swap(x,xx);
  69. if(y>yy)swap(y,yy);
  70. x++,y++,xx++,yy++;
  71. pf("%d\n",query(x,y,xx,yy));
  72. }
  73. }
  74. }

hdu2642二维树状数组,单点修改+区间查询的更多相关文章

  1. hdu2642二维树状数组单点更新+区间查询

    http://acm.hdu.edu.cn/showproblem.php?pid=2642 题目大意:一个星空,二维的.上面有1000*1000的格点,每个格点上有星星在闪烁.一开始时星星全部暗淡着 ...

  2. TZOJ 2725 See you~(二维树状数组单点更新区间查询)

    描述 Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algo ...

  3. 【bzoj3132】上帝造题的七分钟 二维树状数组区间修改区间查询

    题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作. ...

  4. 【bzoj5173】[Jsoi2014]矩形并 扫描线+二维树状数组区间修改区间查询

    题目描述 JYY有N个平面坐标系中的矩形.每一个矩形的底边都平行于X轴,侧边平行于Y轴.第i个矩形的左下角坐标为(Xi,Yi),底边长为Ai,侧边长为Bi.现在JYY打算从这N个矩形中,随机选出两个不 ...

  5. hdu 2642二维树状数组 单点更新区间查询 模板题

    二维树状数组 单点更新区间查询 模板 从零开始借鉴http://www.2cto.com/kf/201307/227488.html #include<stdio.h> #include& ...

  6. hdu 2642 二维树状数组 单点更新区间查询 模板水题

    Stars Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Others) Total Subm ...

  7. hdu2642二维树状数组单点更新

    碰到这种题一定要注意坐标是不是有序的,也要注意坐标是不是有0的,有的话需要+1处理 #include<bits/stdc++.h> using namespace std; #define ...

  8. 【2018年全国多校算法寒假训练营练习比赛(第五场)-E】情人节的电灯泡(二维树状数组单点更新+区间查询)

    试题链接:https://www.nowcoder.com/acm/contest/77/E 题目描述 情人节到了,小芳和小明手牵手,打算过一个完美的情人节,但是小刚偏偏也来了,当了一个明晃晃的电灯泡 ...

  9. POJ2155 Matrix(二维树状数组||区间修改单点查询)

    Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the i-th row an ...

  10. SPOJ - MATSUM 二维树状数组单点更新

    忘记了单点更新时要在树状数组中减去原值..wa了一发 /* 矩形求和,单点更改 */ #include<iostream> #include<cstring> #include ...

随机推荐

  1. windows应用程序单实例

    前言 这才第几天博客就跟不上了,看来一天一篇博客的目标还是有点大,写博客还是挺费时间的,写了不满意删,删完再写...直到自己没了耐心.今天先写个前言,实质性的内容明天再补吧.今天一天的收获还是挺多的, ...

  2. SIM卡的消失会让运营商们恐慌吗?

    ​中国移动.联通.电信三大运营商原本高高在上,每天乐滋滋地数钱数到手抽筋,但近年来移动互联网的快速普及,让运营商的制霸状态不复存在.成为众多互联网公司的"流量通道",语音.短信等业 ...

  3. 一个异步访问redis的内存问题

    | 分类 redis  | 遇到一个redis实例突然内存飙高的案例, 具体症状如下: 客户端使用异步访问模式 单个请求的回包很大,hgetall一个8M的key 由于访问量比较大,已经登录不上red ...

  4. nginx 502排错

    线上一台机器(该论坛所在机器)近期频繁出现502,每100次访问就会出现10次,这频率也太高了.于是开始了我的502排查之旅 ps aux |grep -c php 结果为200 netstat -a ...

  5. seaJs模块化开发简单入门

    随着前端技术的日益成熟,功能越来越丰富强大,规范也越来越健全,在这样的背景环境下很快便有了CommonJs.AMD.CMD等一系列规范,使前端发开趋向模块化.规范化.CMD模块化的代表之一就是国内开发 ...

  6. 3D打印如何重组制造格局?

    ​全球化的竞争正变得毫无底线,国与国之间只有利益,没有同情,也就是说美国品牌想把自己的工厂移回本土,是不会考虑中国工人的生存现状的,更不会顾及这里的GDP和环境问题,甚至还会依靠经济能力去奴役其他国家 ...

  7. python 读取 execl 文件 之 xlrd 模块

    1. 安装 xlrd模块 pip install xlrd 2. 读取文件内容 #!/usr/bin/env python3 import xlrd name = r"E:\excel\yo ...

  8. Roma - Facebook工具链大一统

    什么是roma roma,中文名罗马,是Facebook的rn团队的产出,是一个试验性质的javascript工具链,集编译,linter,格式化,打包,测试等等于一体.目标是成为一个处理javasc ...

  9. SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  10. 测试后的iview的表格

    <template>   <GPage bg>     <div>       <div class="table">        ...