Binary Indexed Tree 2D 分类: ACM TYPE 2014-09-01 08:40 95人阅读 评论(0) 收藏
#include <cstdio>
#include <cstdlib>
#include <climits>
#include <cstring>
#include <algorithm> using namespace std;
int map[1015][1015]; void update(int x,int y, int n)
{
for(int i=x;i<=1005;i+=(i&(-i)))
{
for(int j=y;j<=1005;j+=(j&(-j)))
{
map[i][j]+=n;
}
}
} int sum(int x,int y)
{
int s = 0;
for(int i=x;i>=1;i-=(i&(-i)))
{
for(int j=y;j>=1;j-=(j&(-j)))
{
s+=map[i][j];
}
}
return s;
} int main(){
// freopen("exp.in","r",stdin);
int t, q;
char s[3];
int x1,x2,y1,y2,n1;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
printf("Case %d:\n",i);
memset(map,0,sizeof(map));
for(int j=1;j<=1005;j++)
for(int k = 1;k<=1005;k++)
update(j,k,1); scanf("%d",&q);
for(int j=1;j<=q;j++)
{ scanf("%s",s);
if(s[0]=='S')
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if(x1>x2) swap(x1,x2);
if(y1>y2) swap(y1,y2);
printf("%d\n",sum(x2+1,y2+1)+sum(x1,y1)-sum(x1,y2+1)-sum(x2+1,y1));
}
else if(s[0]=='A')
{
scanf("%d%d%d",&x1,&y1,&n1);
update(x1+1,y1+1,n1);
}
else if(s[0]=='D')
{
scanf("%d%d%d",&x1,&y1,&n1);
int v = sum(x1+1,y1+1)+sum(x1,y1)-sum(x1,y1+1)-sum(x1+1,y1);
n1=(n1-v>0)?v:n1;
update(x1+1,y1+1,-n1);
}
else if(s[0]=='M')
{
scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&n1);
int v = sum(x1+1,y1+1)+sum(x1,y1)-sum(x1,y1+1)-sum(x1+1,y1);
n1=(n1-v)>0?v:n1;
update(x1+1,y1+1,-n1);
update(x2+1,y2+1,n1);
}
}
}
// fclose(stdin);
return 0;
}
Code From Hdu 1982
版权声明:本文为博主原创文章,未经博主允许不得转载。
Binary Indexed Tree 2D 分类: ACM TYPE 2014-09-01 08:40 95人阅读 评论(0) 收藏的更多相关文章
- A simple problem 分类: 哈希 HDU 2015-08-06 08:06 1人阅读 评论(0) 收藏
A simple problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- 周赛-Integration of Polynomial 分类: 比赛 2015-08-02 08:40 10人阅读 评论(0) 收藏
Integration of Polynomial Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/O ...
- DataGridView 列大写、列只能输入数字 分类: DataGridView 2014-12-07 08:40 332人阅读 评论(0) 收藏
列大写: 说明:调用EditingControlShowing事件 private void dgvGoods_EditingControlShowing(object sender, DataGri ...
- 快速幂取模 分类: ACM TYPE 2014-08-29 22:01 95人阅读 评论(0) 收藏
#include<stdio.h> #include<stdlib.h> //快速幂算法,数论二分 long long powermod(int a,int b, int c) ...
- HDU 2042 不容易系列之二 [补6.24] 分类: ACM 2015-06-26 20:40 9人阅读 评论(0) 收藏
不容易系列之二 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- ZOJ 3810 Pretty Poem 分类: ACM 2015-05-17 14:40 83人阅读 评论(0) 收藏
Pretty Poem Time Limit: 2 Seconds Memory Limit:65536 KB Poetry is a form of literature that uses ...
- 多校3-Magician 分类: 比赛 2015-07-31 08:13 4人阅读 评论(0) 收藏
Magician Time Limit: 18000/9000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- highgui.h备查 分类: C/C++ OpenCV 2014-11-08 18:11 292人阅读 评论(0) 收藏
/*M/////////////////////////////////////////////////////////////////////////////////////// // // IMP ...
- OC基础知识总结 分类: ios学习 OC 2015-06-26 17:58 58人阅读 评论(0) 收藏
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4. ...
随机推荐
- synchronized的重入
/** * synchronized的重入 * */ public class SyncDubbo1 { public synchronized void method1(){ System.out. ...
- Linux命令行修改IP、网关、DNS的方法
Linux中在命令行中修改IP地址.网关.DNS的方法. 网卡eth0 IP修改为 102.168.0.1 复制代码代码如下: ifconfig eth0 102.168.0.1 netmask ...
- phpcms后台部分修改
1.后台登陆前提示信息取消及成功后提示信息取消. (1)后台登陆前提示信息取消 phpcms\modules\admin\classes\admin.class.ph ...
- for xml path('') 引发的数据不完整
When you read Extensible Markup Language (XML) data from Microsoft SQL Server by using the SqlDataRe ...
- @Styles.Render
1.@Styles.Render 在页面上可以用@Styles.Render("~/Content/css") 来加载css 首先要在App_Start 里面BundleConfi ...
- 简单翻译和补充:1. GNU ARM Eclipse
原文链接: GNU ARM Eclipse GNU 介绍: GNU 计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.Ric ...
- SOCKET 地址
地址格式: 函数bind和getsockname使用通用数据类型:struct sockaddr*来指向socket地址. #incude <sys/socket.h> struct so ...
- POJ 2960 S-Nim<博弈>
链接:http://poj.org/problem?id=2960 #include<stdio.h> #include<string.h> ; ; int SG[N];//S ...
- [INS-41112] Specified network interface doesnt maintain connectivi
OS: Oracle Linux Server release 6.3 DB: Oracle 11.2.0.3 安装11.2.0.3.0的RAC,在安装GRID时报错: [INS-41112] Spe ...
- 九度oj 1541 二叉树
原题链接:http://ac.jobdu.com/problem.php?pid=1541 简答题如下: #include<algorithm> #include<iostream& ...