COGS1532. [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
二维BIT维护区间和
#include<cstdio>
const int N=;
int opt,n,c[N][N];
int read(){
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int lowbit(int x){
return x&-x;
}
void updata(int x,int y,int val){
for(int i=x;i<=n;i+=lowbit(i)){
for(int j=y;j<=n;j+=lowbit(j)){
c[i][j]+=val;
}
}
}
int query(int x,int y){
int res=;
for(int i=x;i>=;i-=lowbit(i)){
for(int j=y;j>=;j-=lowbit(j)){
res+=c[i][j];
}
}
return res;
}
int main(){
freopen("mobilephones.in","r",stdin);
freopen("mobilephones.out","w",stdout);
opt=read();n=read();
for(int x1,x2,y1,y2,val;(opt=read())!=;){
if(opt==){
x1=read();y1=read();val=read();x1++;y1++;
updata(x1,y1,val);
}
else{
x1=read();y1=read();x1++;y1++;
x2=read();y2=read();x2++;y2++;
printf("%d\n",query(x2,y2)-query(x2,y1-)-query(x1-,y2)+query(x1-,y1-));
}
}
return ;
}
COGS1532. [IOI2001]移动电话的更多相关文章
- 树状数组(二维):COGS 1532 [IOI2001]移动电话
1532. [IOI2001]移动电话 ★☆ 输入文件:mobilephones.in 输出文件:mobilephones.out 简单对比 时间限制:5 s 内存限制:256 MB ...
- nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证
http模块内部封装了http服务器和客户端,因此Node.js不需要借助Apache.IIS.Nginx.Tomcat等传统HTTP服务器,就可以构建http服务器,亦可以用来做一些爬虫.下面简单介 ...
- Mono for Android—初体验之“电话拨号器”
1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...
- Android无需申请权限拨打电话
Android打电话有两种实现方法: 第一种方法,拨打电话跳转到拨号界面.源代码如下: Intent intent = new Intent(Intent.ACTION_DIAL); Uri data ...
- ContentProvider中央档案馆,以及获取联系人电话的示例
Android官方文档介绍的数据存储方式共有五种,sqlite,SharedPreferences,网络存储,外储存储,文件存储,但是这些数据都无法进行共享,那么我们就引入了今天的主角:Content ...
- [LeetCode] Design Phone Directory 设计电话目录
Design a Phone Directory which supports the following operations: get: Provide a number which is not ...
- 【原】iOS学习之三种拨打电话方式的比较
拨打电话小编从网上找到三种,在这里做一些总结和比较 1.基本使用 NSString *str = [[NSMutableString alloc] initWithFormat:@"tel: ...
- 使用JAVA编写电话薄程序,具备添加,查找,删除等功能
//该程序需要连接数据库.根据word文档要求所有功能均已实现.//大部分方法基本差不多,//在查询修改的时候能输出 最大ID号 和最小ID号,并且可以对输入的ID号进行判断是否存在(具体方法请查看 ...
- 拨打电话tel: 跳转到邮件mailto:(html)
拨打电话 <a href="tel://0571866000">0571-866000</a> 跳转到邮件 <a href="mailto: ...
随机推荐
- 搞懂ZooKeeper的Watcher之源码分析及特性总结
前言 本章讲ZooKeeper重要的机制,Watcher特性.ZooKeeper允许客户端向服务端注册Watcher监听,当服务端一些指定事件触发了这个Watcher,那么就会向指定客户端发送一个事件 ...
- Akka之Circuit Breaker
这周在项目中遇到了一个错误,就是Circuit Breaker time out.以前没有接触过,因此学习了下akka的断路器. 一.为什么使用Circuit Breaker 断路器是为了防止分布式系 ...
- OnTouchListener
1.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...
- WebApp 安全风险与防护课堂开课了!
本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 2018 网络安全事故频发,从数据泄露.信息窃取,到 DDOS 攻击.勒索 ...
- 关于Sending build context to Docker daemon 数据很大的问题
以往进行docker build的时候都是在新建的文件夹下面进行,这次为了图方便,就直接放在开发根目录下进行build,这样子问题就来了.于是就有了下面的文件大小发送量: Sending build ...
- eclipse运行时弹出Fail to create the Java Virtual Machine
找到eclipse程序所在目录,在目录下找到eclipse.ini文件,打开文件将com.android.ide.eclipse.adt.package.product下的值改成128m,org.ec ...
- Ubuntu下sudo apt-get install vim 失败的解决办法
Ubuntu下 执行命令:sudo apt-get install vim 失败 解决办法: 更新一下,命令:sudo apt-get update 再安装即可成功:sudo apt-get inst ...
- Asp.net对文件夹和文件的操作类
using System; using System.IO; using System.Web; namespace SEC { /**//// /// 对文件和文件夹的操作类 /// public ...
- 127.0.0.1和localhost和本机IP三者的区别
1,什么是环回地址??与127.0.0.1的区别呢?? 环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址). 可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址 ...
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...