T4701 【卜卜】树状数组模板
题目背景
令 夜 色 的 钟 声 响 起
令 黄 昏 (起 始) 的 钟 声 响 起
我 爱 (渴 望) 的 就 只 有 你
我 爱 ( 渴 望 ) 你
正因如此 独自安静地哭泣吧
正因如此 无论你在何处哭泣 我都会率先去迎接你
不存在何处 直至深夜(小小的你)
你存在此处 至美者(心显崇高之人)
在这个夜晚(场所) 你(我)是孤独的(一个人)
许 下 约 定 送 上 我 的 歌
那阵旋律是 心灵的奏鸣(撼动) 泪珠的音色(舞动)
那阵旋律是 心灵的刻划(震动) 泪珠的赞歌(庆典)
因为那是令世界湿濡 冰冷(心爱)之夜的一滴(歌曲)
那 是 令 世 界 湿 濡 亲 爱 的 夜 之 拥 抱 ( 歌 曲 )
让夜色的吟唱(誓言)来到你身边
让夜色的祝福(誓言)来到你身边 绵延(长久)地、永久(长久)地、直到永远
被 遗 忘 的 孩 子 啊
就算全世界(每个人)都遗忘了你 我也绝对不会遗忘你
来吧 呱呱坠地的孩子啊
回到似睡非睡(摇篮)之中吧
似睡非睡(摇篮)的时间 因为约定的钟声而宣告终止
接着 我会──
接 着 你 会
黄昏的创始之女(夏娃) 你 在 黎 明 时 微 笑
题目描述
在二维平面内给定n个点:
0 x y v表示给(x,y)的权值减去v
1 x y v表示给(x,y)的权值加上v
然后有m个操作
0 x y v , 1 x y v 意义如上
2 a b c d表示询问左上角为(a,b) , 右下角为(c,d)的矩阵权值和
输入输出格式
输入格式:
第一行一个数n
后n行 每行三个数 type x y 意义见上
然后一个数m表示操作数
后m行 第一个数为type
若type=2 则接四个数 a,b,c,d 意义见上
否则接三个数 x,y,v 意义见上
输出格式:
对每一个 2号操作输出一个答案
输入输出样例
8
0 8 10 1
0 8 6 9
0 10 2 48
0 4 8 21
1 6 6 75
0 4 4 23
1 2 9 12
0 4 10 2
9
2 7 2 10 8
1 4 2 92
2 2 4 6 4
0 6 10 29
0 10 8 42
2 4 4 6 6
2 6 6 10 10
2 1 6 8 8
2 8 1 8 2
-57
-23
52
-6
45
0
说明
n,m<=100000 ; x,y<=1000
还是由于出题人不会造数据 保证数据全是随机
二维树状数组,,
比较有意思,
和一维的差不多,
就是多了层循环
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
//#define lowbit(x) (x)&(-x)
using namespace std;
const int MAXN=;
inline void read(int &n)
{
char c='+';bool flag=;n=;
while(c<''||c>'') c=='-'?flag=,c=getchar():c=getchar();
while(c>=''&&c<='') n=n*+c-,c=getchar();
}
int tree[MAXN][MAXN];
int maxn=;
inline int lowbit(int x) {return x&(-x);}
inline void add(int x,int y,int val)
{
for(int i=x;i<=maxn;i+=lowbit(i))
for(int j=y;j<=maxn;j+=lowbit(j))
tree[i][j]+=val;
}
inline int query(int x,int y)
{
int ans=;
for(int i=x;i;i-=lowbit(i))
for(int j=y;j;j-=lowbit(j))
ans+=tree[i][j];
return ans;
}
int main()
{
int n;
for(int k=;k<=;k++)
{
read(n);
for(int i=;i<=n;i++)
{
int how;
read(how);
if(how==)// 减
{
int x,y,v;read(x);read(y);read(v);
add(x,y,-v);
}
else if(how==)//jia
{
int x,y,v;read(x);read(y);read(v);
add(x,y,v);
}
else//sum
{
int a,b,c,d;
read(a);read(b);read(c);read(d);
printf("%d\n",query(c,d)+query(a-,b-)-query(a-,d)-query(c,b-));
}
}
}
return ;
}
T4701 【卜卜】树状数组模板的更多相关文章
- HDU 1166 敌兵布阵(线段树/树状数组模板题)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 树状数组模板(pascal) 洛谷P3374 【模板】树状数组1
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...
- luogu3368树状数组模板2
题目链接:https://www.luogu.org/problemnew/show/P3368 题意:与模板1不同的是这题的操作是树状数组并不在行的区间更新和单点查找,如果按照模板1那样写肯定会T. ...
- HDU 1166 线段树模板&树状数组模板
HDU1166 上好的线段树模板&&树状数组模板 自己写的第一棵线段树&第一棵树状数组 莫名的兴奋 线段树: #include <cstdio> using nam ...
- 敌兵布阵 HDU - 1166 (树状数组模板题,线段树模板题)
思路:就是树状数组的模板题,利用的就是单点更新和区间求和是树状数组的强项时间复杂度为m*log(n) 没想到自己以前把这道题当线段树的单点更新刷了. 树状数组: #include<iostrea ...
- 树状数组模板--Color the ball
Color the ball HDU - 1556 N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电 ...
- 2016 Multi-University Training Contest 4 Bubble Sort(树状数组模板)
Bubble Sort 题意: 给你一个1~n的排列,问冒泡排序过程中,数字i(1<=i<=n)所到达的最左位置与最右位置的差值的绝对值是多少 题解: 数字i多能到达的最左位置为min(s ...
- poj1195二维树状数组模板
二维树状数组和一维的也差不多,改一下add和query函数即可:即按行修改,行内单点修改即可 /* 二维树状数组,询问一个二维区间内的数之和 */ #include<iostream> # ...
- 敌兵布阵---hud1166(线段树或者树状数组模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 线段树中对某一点的值进行改变: #include<iostream> #includ ...
随机推荐
- CF 447B(DZY Loves Strings-贪心)
B. DZY Loves Strings time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 在GitHub上使用Hexo搭建静态博客
搭建静态博客须要一个前提是电脑上有安装git而且有github帐号,这个不懂能够看廖雪峰先生的git教程 1.下载nodejs.在官网上能够下载 2.使用git进入你新建的一个目录,输入命令 npm ...
- c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。
类型转换 自动转换 小范围的类型能够自动转换成大范围的类型.short->int->long->float->double 强制类型转换 (类型名)变量或数值 #include ...
- 安卓通过OkHttp获取json数据
使用Http协议访问网络 OkHttp使用 可以很好的获取接口数据!json数据! 支持get和post提交方式!!! 1.引入模块 compile 'com.squareup.okhttp3:okh ...
- JAVA设计模式之【命令模式】
命令模式 为了降低耦合度,将请求的发送者和接收者解耦 发送请求的对象只需要哦知道如何发送请求,而不必知道如何完成请求 对请求排队 记录请求日志 支持撤销操作 核心在于引入命令类 角色 抽象命令类Com ...
- mysql实战45讲 (三) 事务隔离:为什么你改了我还看不见 极客时间读书笔记
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务.最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱. 转账过程具体到程序里会有一系列的操作,比如查询余额 ...
- dll开发
_declspec(dllexport) void fun() { }
- sql server 查询某个表一直显示"正在执行中..."的问题
问题描述:只是单纯的执行了"select count(*) from 某表":数据表中只有一两条数据,能查询其他表,唯独这个表不能进行任何操作: 经百度搜索实验,发现应该是某个进程 ...
- Calling Mojo from Blink
Variants Let's assume we have a mojom file such as this: module example.mojom; interface Foo { ...
- NodeJS学习笔记 (2)文件系统操作-fs(ok)
原文:https://github.com/chyingp/nodejs-learning-guide/blob/master/%E6%A8%A1%E5%9D%97/fs.md#%E9%80%9A%E ...