树状数组(二维):COGS 1532 [IOI2001]移动电话
1532. [IOI2001]移动电话
★☆ 输入文件:mobilephones.in 输出文件:mobilephones.out 简单对比
时间限制:5 s
内存限制:256 MB
【题目描述】
假设Tampere地区的4G移动通信基站以如下方式运行。整个地区被划分成若干正方形格子。这些格子构成一个S*S的矩阵,它们的行,列编号都是从0到
S-1.每一个格子中都有一个基站。每个格子中激活的手机数量可能改变,因为一部手机可能从一个格子移动到另一个格子,打开或者关闭。有时,某一座基站会
向总站报告自己的行列坐标,以及该格中激活手机数目的变化。
【输入格式】
输入指令编码如下。
每个指令占一行,包含一个指令码和一些参数,见下表。
| 指令码 | 参数 | 意义 |
| 0 | S | 初始化一个S*S的全零矩阵。这个指令只会出现一次,即第一条指令。 |
| 1 | X Y A | 将格子(X,Y)中激活的手机数量增加A。A有可能是正数或负数。 |
| 2 | L B R T | 询问当前所有坐标(X,Y)满足:L<=X<=R,B<=Y<=T的格子中激活的手机数量之和。 |
| 3 | 结束程序。这个指令只会出现一次,即最后一条指令。 |
【输出格式】
你的程序不应该对指令2外的所有指令进行回答。对于每个指令2,你的程序需要输出一行一个正整数,即该指令的答案。
【样例输入】
0 4
1 1 2 3
2 0 0 2 2
1 1 1 2
1 1 2 -1
2 1 1 2 3
3
【样例
3
4
【提示】
矩阵大小:1<=S<=1024
任意时刻,每个格子中的激活手机数量V:0<=V<=32767
格子中激活手机数量的变化值:-32768<=A<=32767
输入的指令数目:3<=U<=60002
整个矩阵中的最大手机数量:M=2^30
【来源】
IOI 2001
模板题啊,水过了~~~
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int maxn=;
int bit[maxn][maxn],op,s;
void add(int x,int y,int d){
for(int i=x;i<=s;i+=i&(-i))
for(int j=y;j<=s;j+=j&(-j))
bit[i][j]+=d;
}
int Query(int x,int y){
int ret=;
for(int i=x;i;i-=i&(-i))
for(int j=y;j;j-=j&(-j))
ret+=bit[i][j];
return ret;
} int main(){
freopen("mobilephones.in","r",stdin);
freopen("mobilephones.out","w",stdout);
int a,b,x,y;
while(true){
scanf("%d",&op);
if(op==){
scanf("%d",&s);
}
else if(op==){
scanf("%d%d%d",&x,&y,&a);
add(x+,y+,a);
}
else if(op==){
scanf("%d%d%d%d",&a,&b,&x,&y);a++;b++;x++;y++;
printf("%d\n",Query(x,y)-Query(x,b-)-Query(a-,y)+Query(a-,b-));
}
else break;
}
return ;
}
树状数组(二维):COGS 1532 [IOI2001]移动电话的更多相关文章
- bzoj4785:[ZJOI2017]树状数组:二维线段树
分析: "如果你对树状数组比较熟悉,不难发现可怜求的是后缀和" 设数列为\(A\),那么可怜求的就是\(A_{l-1}\)到\(A_{r-1}\)的和(即\(l-1\)的后缀减\( ...
- BZOJ4822[Cqoi2017]老C的任务——树状数组(二维数点)
题目描述 老 C 是个程序员. 最近老 C 从老板那里接到了一个任务——给城市中的手机基站写个管理系统.作为经验丰富的程序员,老 C 轻松 地完成了系统的大部分功能,并把其中一个功能交给你来实 ...
- BZOJ1935: [Shoi2007]Tree 园丁的烦恼(树状数组 二维数点)
题意 题目链接 Sol 二维数点板子题 首先把询问拆成四个矩形 然后离散化+树状数组统计就可以了 // luogu-judger-enable-o2 #include<bits/stdc++.h ...
- 树状数组 二维偏序【洛谷P3431】 [POI2005]AUT-The Bus
P3431 [POI2005]AUT-The Bus Byte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1 到 n编号, 西东走向的路从1 ...
- 树状数组+二维前缀和(A.The beautiful values of the palace)--The Preliminary Contest for ICPC Asia Nanjing 2019
题意: 给你螺旋型的矩阵,告诉你那几个点有值,问你某一个矩阵区间的和是多少. 思路: 以后记住:二维前缀和sort+树状数组就行了!!!. #define IOS ios_base::sync_wit ...
- bzoj 4822: [Cqoi2017]老C的任务【扫描线+树状数组+二维差分】
一个树状数组能解决的问题分要用树套树--还写错了我别是个傻子吧? 这种题还是挺多的,大概就是把每个矩形询问差分拆成四个点前缀和相加的形式(x1-1,y1-1,1)(x2.y2,1)(x1-1,y2,- ...
- BZOJ 4785 [Zjoi2017]树状数组 | 二维线段树
题目链接 BZOJ 4785 题解 这道题真是令人头秃 = = 可以看出题面中的九条可怜把求前缀和写成了求后缀和,然后他求的区间和却仍然是sum[r] ^ sum[l - 1],实际上求的是闭区间[l ...
- 6月28日考试 题解(GCD约分+动态规划+树状数组二维偏序)
前言:考的一般般吧……T3暴力没打上来挺可惜的,到手的75分没了. ---------------------------------- T1 [JZOJ4745]看电影 Description 听说 ...
- BZOJ3132 上帝造题的七分钟 【二维树状数组】
题目 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的 ...
随机推荐
- windows使用python调用wget批处理下载数据
wget是linux/unix下通常使用的下载http/ftp的数据,使用非常方便,其实wget目前经过编译,也可在windows下使用.最近需要下载大量的遥感数据,使用了python写了批处理下载程 ...
- 对象-关系映射ORM(Object Relational Mapping)(转)
ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现 Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java).映射文件(*.hbm.xml)和数据库配置文件 ...
- CTE-递归[2]
在此之前写过一个CTE的递归,取出了所有的子节点,基本上可以满足大多数的需求,这里我们来延伸一下:首先我们回顾下原来的场景 图片的上半部分递归查出某个节点的所有子节点,这个我们已经通过CTE实现了,可 ...
- ASP.NET Excel数据导出数据库
/// <summary> /// 根據gridview導出excel /// </summary> /// <param name="ctl"> ...
- 共享受限资源,Brian的同步规则
说明:如果一个变量是boolean,则此变量是原子性的,即赋值和返回值简单的操作在发生时没有中断的可能. 递增不是原子性炒作. 解决共享资源竞争: 1. 通过加锁,锁语句会产生相互排斥的效果,此种机制 ...
- iOS 事件处理机制与图像渲染过程(转)
iOS 事件处理机制与图像渲染过程 iOS RunLoop都干了什么 iOS 为什么必须在主线程中操作UI 事件响应 CALayer CADisplayLink 和 NSTimer iOS 渲染过程 ...
- AspNet WebApi : MessageHandler(消息处理器 )
1. Http Message Handler WebApi中的MessageHandler类似MVC中的filter,可用于请求/响应到达真正目标前对请求或者响应进行修改,比如:用户身份验证,请求头 ...
- 项目知识点.Part1
1. storyboard中添加scrollview: 先添加scrollView,进行约束 添加View 进行约束 相对于scrollView 如果水平滑动:设置vertically in Cont ...
- 导出Excel后其他按钮失效
在SharePoint中,当在页面上点击Export to Excel按钮后,第一次它能实现该功能,当再次点击该按钮时,页面上的所有按钮将失效,仅仅再次刷新该页面时按钮才会有效,首先想到出现该问题肯定 ...
- 复杂事件处理——Esper入门(示例程序)
前面对Esper Quick Start & Tutorial进行了简单描述,希望各位看官能够大致了解what is Esper,甚至对how to work有朦朦胧胧的了解. 开发一个Esp ...