题目链接:http://poj.org/problem?id=1195

纯纯的二维树状数组,不解释,仅仅须要注意一点,由于题目中的数组从0開始计算,所以维护的时候须要加1。由于树状数组的下标是不能为1的

代码:

#include <iostream>
#include <cstdio>
#define N 1030
using namespace std;
int c[N][N];
int cas,n,x,y,a,l,b,r,t;
int Lowbit(int x)
{return x & (-x);
}
void Updata(int x,int y,int a)
{int i,k;for(i=x; i<=n; i+=Lowbit(i))for(k=y; k<=n; k+=Lowbit(k))c[i][k]+=a;
}
int Getsum(int x,int y)
{int i,k,sum = 0;for(i=x; i>0; i-=Lowbit(i))for(k=y; k>0; k-=Lowbit(k))sum += c[i][k];return sum;
}
int main()
{scanf("%d%d",&cas,&n);while(~scanf("%d",&cas)){if(cas==1){scanf("%d%d%d",&x,&y,&a);Updata(x+1,y+1,a);}if(cas==2){scanf("%d%d%d%d",&l,&b,&r,&t);int a=Getsum(r+1,t+1)-Getsum(l,t+1)-Getsum(r+1,b)+Getsum(l,b);printf("%d\n",a);}if(cas==3)return 0;}return 0;
}

转载于:https://www.cnblogs.com/blfbuaa/p/6789940.html

POJ_1195 Mobile phones 【二维树状数组】相关推荐

  1. hoj 1640 Mobile phones //poj 1195 Mobile phones 二维树状数组

    /* (x1,y2)   ____________    (x2,y2) |                      | |                      | |             ...

  2. 二维树状数组 ----2021广东省赛 ----- K - Kera‘s line segment[区间转二维平面+树状数组维护前缀最小最大值]

    题目链接 题目大意: 就是一个一维的数轴上面有一堆线段用一个三元组(l,r,val)(l,r,val)(l,r,val)表示. 现在我们有两个操作: 就是往数轴上面添加线段 询问[L,R][L,R][ ...

  3. szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】

    树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...

  4. 【二维树状数组】See you~

    https://www.bnuoj.com/v3/contest_show.php?cid=9148#problem/F [题意] 给定一个矩阵,每个格子的初始值为1.现在可以对矩阵有四种操作: A ...

  5. 洛谷1527(bzoj2738)矩阵乘法——二维树状数组+整体二分

    题目:https://www.luogu.org/problemnew/show/P1527 不难想到(?)可以用二维树状数组.但维护什么?怎么查询是难点. 因为求第k小,可以考虑记权值树状数组,把比 ...

  6. 二维树状数组 BZOJ 1452 [JSOI2009]Count

    题目链接 裸二维树状数组 #include <bits/stdc++.h>const int N = 305; struct BIT_2D {int c[105][N][N], n, m; ...

  7. HDU-4456 Crowd 二维树状数组+坐标转换

    题意:给定一个N*N的网格,现在M组操作,一种操作时改变网格上的某个单点的权值,另外一种操作是求到一点曼哈顿距离为小于等于k的所有的权值和,初始化网格所有点的权值为0. 解法:这题如果没有那些特定的条 ...

  8. hdu 1892二维树状数组

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

  9. poj 1195(二维树状数组)

    解题思路:这是一道很裸的二维树状数组 AC: #include<stdio.h> #include<string.h> #define N 1100 int c[N][N],n ...

最新文章

  1. 2022-2028年中国降解塑料聚酯行业运行动态及投资机会分析报告
  2. 跟我学雨林木风系统制作——2.涉及的技术及用到的工具介绍
  3. 数据回填过程中,不可设置nobackfill和norecover
  4. windows php扩展下载,有没有专门下载 Windows 下的 PHP 扩展的网站?
  5. logic多分类的两种类别
  6. Plus from Picture
  7. 11.向量vector.rs
  8. Elasticsearch SQL介绍及实例
  9. CSDN公式编辑(latex语言应用)整理
  10. pythonapp自动化_GitHub - qdyxmas/PyAutoTest: python Autotest UI自动化 APP自动化 HTTP接口自动化...
  11. ASP.NET的权限问题
  12. Codeforces Round #518 (Div. 2): D. Array Without Local Maximums(DP)
  13. 【剑指offer】题目20 顺时针打印矩阵
  14. 未能找到主机服务器是什么鬼,未能找到指定主机服务器是什么意思
  15. Effective Java(第三版) 学习笔记 - 第六章 枚举和注解 Rule34~Rule41
  16. 详解关于卫星影像(卫星地图)的一些常见问题
  17. C语言学习笔记 | 进阶 | 文件操作详解(万字精心制作)
  18. 10款国外免费网站在线监控服务工具
  19. 区块链网络端口及证书
  20. Oracle IMS DB2都属于,IMS数据库  IMS database

热门文章

  1. [c++] vector<vector<int>>排序
  2. word公式和文字不在一行上,错位了如何解决
  3. itoa函数和atoi函数
  4. python找出函数最小值极其对应的自变量的值
  5. DearGUI编写贪吃蛇之让蛇跑的方向受控制_最新
  6. python实现直播服务非rtmp版本(非常简单)
  7. 属于链路状态路由选择协议,
  8. TiDB 源码阅读系列文章(六)Select 语句概览
  9. Windows不能在本地计算机启动MongoDB,错误代码 100
  10. Spark环境搭建(一)-----------HDFS分布式文件系统搭建