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 ...
随机推荐
- 深入分析Java中的I/O类的特征及适用场合
Java中有40多个与输入输出有关的类.假设不理清它们之间的关系.就不能灵活地运用它们. 假设从流的流向来分,可分为输入流和输出流,而输入流和输出流又都可分为字节流和字符流.因而可将Java中的I/O ...
- group_concat函数
- inputstream输出为String
import java.io.IOException; import java.io.InputStream; import org.apache.http.HttpEntity; import or ...
- 【MongoDB】深入了解MongoDB不可不知的十点
一.对象ID的生成 每一个mongoDB文档那个都要求有一个主键.它在每一个集合中对全部的文档必须是唯一的.主键存放在文档_id字段中.由12个字符组成: 4c291856 238d3b ...
- JavaScript 没有函数重载&Arguments对象
对于学过Java的人来说.函数重载并非一个陌生的概念,可是javaScript中有函数重载么...接下来我们就进行測试 <script type="text/javascript&qu ...
- Android 6.0 开发人员对系统权限的使用与练习(Permissions Best Practices)
Permissions Best Practices 在安装的过程中,用户非常easy忽略权限请求. 假设一个用户相应用感觉沮丧或者操心泄漏个人信息,那么这些用户就会不用他或者卸载它. 怎样规避这个问 ...
- ES shard unassigned的解决方法汇总
说下shard出现的几个状态说明: relocating_shards shows the number of shards that are currently moving from one no ...
- DB-MySQL:MySQL 语句性能优化
ylbtech-DB-MySQL:MySQL 语句性能优化 1.返回顶部 1. MySQL概述1.数据库设计 3范式2.数据库分表分库---会员系统() 水平分割(分页如何查询)MyChar .垂直3 ...
- ActiveMQ学习笔记(12)----ActiveMQ的集群
1. Queue consumer cluster ActiveMQ支持Consumer对消息的高可靠性的负载均衡消费,如果一个Consumer死掉,该消息会转发到其他的Consumer消费的Queu ...
- SpringBoot学习笔记(13)----使用Spring Session+redis实现一个简单的集群
session集群的解决方案: 1.扩展指定server 利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略.缺点:耦合Tomcat/ ...