这题反反复复,到现在才过。

这道题就是树状数组的逆用,用于修改区间内容,查询点的值。

如果单纯就这个奇偶数来判的话,似乎这个思路比较好理解。

看了一下国家集训队论文(囧),《关于0与1在信息学奥赛中的运用》,。

还有这题卡在输入输出好久。

  1. update(a,b,1);
  2. update(a,d,-1);
  3. update(c,b,-1);
  4. update(c,d,1);

 用来判二维的情况!!

  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4. using namespace std;
  5. //关键还是对树状数组理解比较深,差不多算是知晓了。
  6. //区间修改,点查询
  7. int a[1005];
  8. int c[1005][1005];
  9. int n,m;
  10. int lowbit(int x)
  11. {
  12. return x&(-x);
  13. }
  14. void update(int x,int y,int pp)
  15. {
  16. for(int i=x;i<=1005;i+=lowbit(i))
  17. for(int j=y;j<=1005;j+=lowbit(j))
  18. c[i][j]+=pp;
  19. }
  20. int sum(int x,int y)
  21. {
  22. int ret=0;
  23. for(int i=x;i>=1;i-=lowbit(i))
  24. for(int j=y;j>=1;j-=lowbit(j))
  25. ret+=c[i][j];
  26. return ret;
  27. }
  28. int main()
  29. {
  30. int case_num;
  31. scanf("%d",&case_num);
  32. while(case_num--)
  33. {
  34. memset(c,0,sizeof(c));
  35. scanf("%d%d%*c",&n,&m);
  36. for(int i=0;i<m;i++)
  37. {
  38. char op;
  39. int a,b,c,d;
  40. scanf("%c",&op);
  41. if(op=='C')
  42. {
  43. scanf("%d%d%d%d%*c",&a,&b,&c,&d);
  44. c++;
  45. d++;
  46. update(a,b,1);//这个思路要比我那个几各情况If判断要好
  47. update(a,d,-1);
  48. update(c,b,-1);
  49. update(c,d,1);
  50. }
  51. else if(op=='Q')
  52. {
  53. scanf("%d%d%*c",&a,&b);
  54. printf("%d\n",1&sum(a,b));
  55. }
  56. }
  57. printf("\n");
  58.  
  59. }
  60. return 0;
  61. }

POJ2155【二维树状数组,区间修改,点查询?】【又被输入输出坑】的更多相关文章

  1. 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 ...

  2. 【poj2155】Matrix(二维树状数组区间更新+单点查询)

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

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

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

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

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

  5. poj2155二维树状数组区间更新

    垃圾poj又交不上题了,也不知道自己写的对不对 /* 给定一个矩阵,初始化为0:两种操作 第一种把一块子矩阵里的值翻转:0->1,1->0 第二种询问某个单元的值 直接累计单元格被覆盖的次 ...

  6. poj 2155 (二维树状数组 区间修改 求某点值)

    Matrix Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 33682   Accepted: 12194 Descript ...

  7. POJ——1195Mobile phones(二维树状数组点修改矩阵查询)

    Mobile phones Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 17764   Accepted: 8213 De ...

  8. 牛客网 暑期ACM多校训练营(第二场)J.farm-STL(vector)+二维树状数组区间更新、单点查询 or 大暴力?

    开心.jpg J.farm 先解释一下题意,题意就是一个n*m的矩形区域,每个点代表一个植物,然后不同的植物对应不同的适合的肥料k,如果植物被撒上不适合的肥料就会死掉.然后题目将每个点适合的肥料种类( ...

  9. POJ 2155 Matrix(二维树状数组+区间更新单点求和)

    题意:给你一个n*n的全0矩阵,每次有两个操作: C x1 y1 x2 y2:将(x1,y1)到(x2,y2)的矩阵全部值求反 Q x y:求出(x,y)位置的值 树状数组标准是求单点更新区间求和,但 ...

  10. poj2155二维树状数组

    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 ...

随机推荐

  1. Python开发环境(3):使用Eclipse+PyDev插件创建Django项目

    OS:Windows 10家庭中文版,Python:3.6,Eclipse:Oxygen.1a Release (4.7.1a), PyDev:6.3.2,Django:2.0.3 本文展示了怎么使用 ...

  2. UrlRouteModule

    一.请求流程 当一个请求发往ASP.net MVC站点时的情景,IIS收到请求并将请求转到ASP.net,然后根据URL,或者更确切来说:被请求文件的扩展名.在IIS7 integrated模式下(默 ...

  3. keras LSTM中间的dropout

    TM有三个 model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2)) 第一个dropout是x和hidden之间的dropout,第二个是hid ...

  4. iconfont-矢量图标字体

    二.矢量图标使用 1.进入:http://www.iconfont.cn/  搜索你图标的关键字,然后将需要的图标字体加入购物车 加入购物车之后,添加到项目 2.点击查看在线连接,生成css代码,把代 ...

  5. No.10 selenium学习之路之通过元素定位获取属性

    1. implicitly_wait()隐形等待.等待页面加载完成,作用是全局的. 时间可以设置的长,短时间也没有影响.直到设置的时间耗完 时间耗完也不会报错 2.获取title值 driver.ti ...

  6. mysql千万级表关联优化(2)

    概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上. 这个 ...

  7. 【LOJ】#2105. 「TJOI2015」概率论

    题解 可以说是什么找规律好题了 但是要推生成函数,非常神奇-- 任何的一切都可以用\(n^2\)dp说起 我们所求即是 所有树的叶子总数/所有树的方案数 我们可以列出一个递推式,设\(g(x)\)为\ ...

  8. PHP问题解决

    1.PHP在上传文件的时候出现错误Internal Server Error Internal Server ErrorThe server encountered an internal error ...

  9. phpstorm 输入法中文不同步 phpstorm 输入法不跟随光标解决办法

    win7系统新安装的phpstorm2017.2版本,试了很多输入法,要么是不显示候选次,要么是输入法候选词总是在屏幕右下角,没有跟随光标移动.百度很久,重要找到解决方案. 就是替换phpstorm安 ...

  10. 007 Ajax中的购物车

    1.大纲设计 2.shopingCartItem.java package beans; public class shopingCartItem { private String bookname; ...