呵呵..

二维树状数组,第二维和第一维基本一样.

--------------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<cstring>
#include<algorithm>
#define rep(i, n) for(int i = 0; i < n; ++i)
#define Rep(i, r) for(int i = 1; i <= r; ++i)
#define clr(x, c) memset(x, c, sizeof(x))
using namespace std;
const int maxn = 1024 + 5;
int n, b[maxn][maxn];
#define lowbit(x) (x & -x)
void add(int x, int y, int v) {
for(int i = x; i <= n; i += lowbit(i)) 
   for(int j = y; j <= n; j += lowbit(j))
       b[i][j] += v;
}
int sum(int x, int y) {
int ans = 0;
for(int i = x; i > 0; i -= lowbit(i))
   for(int j = y; j > 0; j -= lowbit(j))
       ans += b[i][j];
return ans;
}
int main() {
freopen("test.in", "r", stdin);
clr(b, 0);
scanf("%d", &n);
int op;
while(scanf("%d", &op) == 1 && op != 3) {
if(op == 1) {
int x, y, v;
scanf("%d%d%d", &x, &y, &v);
++x; ++y;
add(x, y, v);
} else {
int x[2], y[2];
rep(i, 2) scanf("%d%d", &x[i], &y[i]);
printf("%d\n", sum(x[1] + 1, y[1] + 1) - sum(x[0], y[1] + 1) - sum(x[1] + 1, y[0]) + sum(x[0], y[0]));
}
}
return 0;
}

--------------------------------------------------------------------------------

P1512SuperBrother打鼹鼠

Accepted

标签:[显示标签]

背景

SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”......

描述

在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……)。洞口都在一个大小为n(n<=1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为(0,0),右上角为(n-1,n-1)。洞口所在的位置都是整点,就是横纵坐标都为整数的点。而SuperBrother也不时地会想知道某一个范围的鼹鼠总数。这就是你的任务。

格式

输入格式

每个输入文件有多行。

第一行,一个数n,表示鼹鼠的范围。

以后每一行开头都有一个数m,表示不同的操作:
m=1,那么后面跟着3个数x,y,k(0<=x,y<n),表示在点(x,y)处新出现了k只鼹鼠;
m=2,那么后面跟着4个数x1,y1,x2,y2(0<=x1<=x2<n,0<=y1<=y2<n),表示询问矩形(x1,y1)-(x2,y2)内的鼹鼠数量;
m=3,表示老师来了,不能玩了。保证这个数会在输入的最后一行。

询问数不会超过10000,鼹鼠数不会超过maxlongint。

输出格式

对于每个m=2,输出一行数,这行数只有一个数,即所询问的区域内鼹鼠的个数。

样例1

样例输入1[复制]

4 1 2 2 5 2 0 0 2 3 3

样例输出1[复制]

5

限制

各个测试点1s

提示

水题一道。

所有数据均为随机生成,包括样例

转载于:https://www.cnblogs.com/JSZX11556/p/4479769.html

VIJOS 1512SuperBrother打鼹鼠(二维BIT)相关推荐

  1. 条形码?二维码?生成、解析都在这里!

    二维码生成与解析 一.生成二维码 二.解析二维码 三.生成一维码 四.全部的代码 五.pom依赖 直接上代码: 一.生成二维码 public class demo {private static fi ...

  2. OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出

    1. 定义和输出二维点 Point2f p2(3, 4);cout << "[二维点] is "<< endl << p2 << e ...

  3. Java IDEA Debug进制二维数组

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...

  4. python3生成二维码中间带logo,有底图,可自定义文字

    效果: qrcode_result.png 代码: #!/user/bin/Python3 """ @Lanson @2019-11-02 ""&qu ...

  5. Python数据挖掘1:创建一位数组和二维数组,取最大最小值,切片

    ''' 来源:天善智能韦玮老师课堂笔记 1.numpy 可以高效处理数据.提供数组支持.很多模块都依赖他,比如pandas.scipy.matplotlib都依赖他,所以这个模块是基础. 2.pand ...

  6. Asp.Net Core在线生成二维码

    前言: 原先用zxing Code写过基于Winfrom的批量生成二维码工具,以及单个生成二维码工具:批量生成二维码Gihub源代码 今天尝试用QRCoder 加 Asp.Net Core 写了一个在 ...

  7. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度

    1. 创建一个 [3,5] 所有元素为 True 的数组 In [162]: b = np.ones((3,5), dtype=bool)In [163]: b Out[163]: array([[ ...

  8. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)

    参考: https://gitbook.cn/gitchat/column/undefined/topic/5e3bceadec8d9033cf924665 打开 IPython ,创建 Python ...

  9. 如何给iOS应用添加原生的二维码扫描功能

    之前总觉得二维码扫描很高大上,其实apple工程师早就为我们提供了便捷的方法.二维码扫描第三方的库也挺多的,不过效率高的当属系统提供的扫描方法. 二维码扫描主要用到了以下几个类: AVCaptureD ...

最新文章

  1. hwclock date
  2. propertychange 属性说明
  3. 【Python】青少年蓝桥杯_每日一题_5.21_画扇子
  4. 下列标识中不是c语言保留字,下列标识符中,不是 C 语言保留字的是
  5. RTC 技术知识体系
  6. mysql中基本的DDL语句(关注一下,以后会继续更新喔!)
  7. win10计算机修改底色,win10电脑如何修改登陆背景
  8. python开发学习记录
  9. 怎么撤销定时说说_武夷山币7省线下预约火爆!名字错了怎么办,附预约问题整理...
  10. [svc]mousedos网络批量部署xp
  11. [Ext JS 7]基于NPM的开发
  12. Linux设备驱动模型二 kobject
  13. .net reactor 学习系列(四)---.net reactor应用场景
  14. LINUX上开发ffmpeg程序,查看链接的库
  15. c++win32项目 如何显示后再删除一个绘图_sai绘图软件中文版
  16. 信息安全等级保护 实施方案
  17. MATLAB信号处理仿真入门实验
  18. Lattice Diamond软件使用
  19. python平方根计算_Python计算平方根
  20. 生成yolov5.wts文件出错

热门文章

  1. SQLSERVER根据字符 切割字符串的方法
  2. 中低频量化交易策略研发04_ 简单的择时策
  3. 这个工具,可视化分析10W数据后,找到了数据岗位月薪20K的秘诀
  4. “工业4.0”下的可视化工厂建设方案
  5. ubtunu打开firefox_在Ubuntu中安装Mozilla Firefox的4种方法
  6. 内购订单进行二次处理_物流图表复杂业务场景下的订单管理系统搭建
  7. dell mobile connect 兑换码_剑与远征万圣节兑换码是什么?剑与远征2020万圣节兑换码使用解析...
  8. redisson版本_通用Redisson版本
  9. python缩进设计_Python 的缩进是不是反人类的设计?
  10. springboot 不使用 thymeleaf_springboot 使用swagger 不显示basic-error-controller解决