题目背景

令 夜 色 的 钟 声 响 起

令 黄 昏 (起 始) 的 钟 声 响 起

我 爱 (渴 望) 的 就 只 有 你

我 爱 ( 渴 望 ) 你

正因如此 独自安静地哭泣吧

正因如此 无论你在何处哭泣 我都会率先去迎接你

不存在何处 直至深夜(小小的你)

你存在此处 至美者(心显崇高之人)

在这个夜晚(场所) 你(我)是孤独的(一个人)

许 下 约 定 送 上 我 的 歌

那阵旋律是 心灵的奏鸣(撼动) 泪珠的音色(舞动)

那阵旋律是 心灵的刻划(震动) 泪珠的赞歌(庆典)

因为那是令世界湿濡 冰冷(心爱)之夜的一滴(歌曲)

那 是 令 世 界 湿 濡 亲 爱 的 夜 之 拥 抱 ( 歌 曲 )

让夜色的吟唱(誓言)来到你身边

让夜色的祝福(誓言)来到你身边 绵延(长久)地、永久(长久)地、直到永远

被 遗 忘 的 孩 子 啊

就算全世界(每个人)都遗忘了你 我也绝对不会遗忘你

来吧 呱呱坠地的孩子啊

回到似睡非睡(摇篮)之中吧

似睡非睡(摇篮)的时间 因为约定的钟声而宣告终止

接着 我会──

接 着 你 会

黄昏的创始之女(夏娃) 你 在 黎 明 时 微 笑

题目描述

在二维平面内给定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号操作输出一个答案

输入输出样例

输入样例#1:

  1. 8
  2. 0 8 10 1
  3. 0 8 6 9
  4. 0 10 2 48
  5. 0 4 8 21
  6. 1 6 6 75
  7. 0 4 4 23
  8. 1 2 9 12
  9. 0 4 10 2
  10. 9
  11. 2 7 2 10 8
  12. 1 4 2 92
  13. 2 2 4 6 4
  14. 0 6 10 29
  15. 0 10 8 42
  16. 2 4 4 6 6
  17. 2 6 6 10 10
  18. 2 1 6 8 8
  19. 2 8 1 8 2
输出样例#1:

  1. -57
  2. -23
  3. 52
  4. -6
  5. 45
  6. 0

说明

n,m<=100000 ; x,y<=1000

还是由于出题人不会造数据 保证数据全是随机

二维树状数组,,

比较有意思,

和一维的差不多,

就是多了层循环

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cmath>
  5. //#define lowbit(x) (x)&(-x)
  6. using namespace std;
  7. const int MAXN=;
  8. inline void read(int &n)
  9. {
  10. char c='+';bool flag=;n=;
  11. while(c<''||c>'') c=='-'?flag=,c=getchar():c=getchar();
  12. while(c>=''&&c<='') n=n*+c-,c=getchar();
  13. }
  14. int tree[MAXN][MAXN];
  15. int maxn=;
  16. inline int lowbit(int x) {return x&(-x);}
  17. inline void add(int x,int y,int val)
  18. {
  19. for(int i=x;i<=maxn;i+=lowbit(i))
  20. for(int j=y;j<=maxn;j+=lowbit(j))
  21. tree[i][j]+=val;
  22. }
  23. inline int query(int x,int y)
  24. {
  25. int ans=;
  26. for(int i=x;i;i-=lowbit(i))
  27. for(int j=y;j;j-=lowbit(j))
  28. ans+=tree[i][j];
  29. return ans;
  30. }
  31. int main()
  32. {
  33. int n;
  34. for(int k=;k<=;k++)
  35. {
  36. read(n);
  37. for(int i=;i<=n;i++)
  38. {
  39. int how;
  40. read(how);
  41. if(how==)// 减
  42. {
  43. int x,y,v;read(x);read(y);read(v);
  44. add(x,y,-v);
  45. }
  46. else if(how==)//jia
  47. {
  48. int x,y,v;read(x);read(y);read(v);
  49. add(x,y,v);
  50. }
  51. else//sum
  52. {
  53. int a,b,c,d;
  54. read(a);read(b);read(c);read(d);
  55. printf("%d\n",query(c,d)+query(a-,b-)-query(a-,d)-query(c,b-));
  56. }
  57. }
  58. }
  59. return ;
  60. }

T4701 【卜卜】树状数组模板的更多相关文章

  1. HDU 1166 敌兵布阵(线段树/树状数组模板题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. 树状数组模板(pascal) 洛谷P3374 【模板】树状数组1

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...

  3. luogu3368树状数组模板2

    题目链接:https://www.luogu.org/problemnew/show/P3368 题意:与模板1不同的是这题的操作是树状数组并不在行的区间更新和单点查找,如果按照模板1那样写肯定会T. ...

  4. HDU 1166 线段树模板&树状数组模板

    HDU1166 上好的线段树模板&&树状数组模板 自己写的第一棵线段树&第一棵树状数组 莫名的兴奋 线段树: #include <cstdio> using nam ...

  5. 敌兵布阵 HDU - 1166 (树状数组模板题,线段树模板题)

    思路:就是树状数组的模板题,利用的就是单点更新和区间求和是树状数组的强项时间复杂度为m*log(n) 没想到自己以前把这道题当线段树的单点更新刷了. 树状数组: #include<iostrea ...

  6. 树状数组模板--Color the ball

    Color the ball HDU - 1556 N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电 ...

  7. 2016 Multi-University Training Contest 4 Bubble Sort(树状数组模板)

    Bubble Sort 题意: 给你一个1~n的排列,问冒泡排序过程中,数字i(1<=i<=n)所到达的最左位置与最右位置的差值的绝对值是多少 题解: 数字i多能到达的最左位置为min(s ...

  8. poj1195二维树状数组模板

    二维树状数组和一维的也差不多,改一下add和query函数即可:即按行修改,行内单点修改即可 /* 二维树状数组,询问一个二维区间内的数之和 */ #include<iostream> # ...

  9. 敌兵布阵---hud1166(线段树或者树状数组模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 线段树中对某一点的值进行改变: #include<iostream> #includ ...

随机推荐

  1. JUnit4.8.2源码分析-4 RunNotifier与RunListener

    JUnit4运行过程中,org.junit.runner.notification. RunListener和RunNotifier运用了观察者模式. 1.观察者 观察者Observer/Listen ...

  2. Cocos2d-x 常见宏

    1)NS_CC_BEGIN cocos2d命名空间開始 2) NS_CC_END  cocos2d命名空间结束 3)USING_NS_CC 声明cocos2d命名空间 4)CC_SYNTHESIZE_ ...

  3. 343D/Codeforces Round #200 (Div. 1) D. Water Tree dfs序+数据结构

    D. Water Tree   Mad scientist Mike has constructed a rooted tree, which consists of n vertices. Each ...

  4. VSCode向上的代码提示消除

    VSCode虽然好用, 但是有些用户体验实在非常差, 比如这种往上面弹的类型提示... 在用户设置中增加: "editor.parameterHints": false

  5. sas与mysql连接方法

    2012年8月11日 sas 9.1.3 版本 与mysql 连接 测试,可以与数据库连接1  通过odbc 直接连通 pass through connect to odbc create tabl ...

  6. 用Beamer做Slides

    学术用幻灯片,首选还是latex.但是问题来了,Beamer这个latex幻灯模板还需要很多自定义设置.于是找了网上一些自己觉得好的例子. http://www.latexstudio.net/ind ...

  7. Java文件(io)编程——File类的基本用法

    1.首先了解文件流的相关概念: 2.文件File类的基本用法 public class Demo_1 { public static void main(String[] args) { //创建一个 ...

  8. 机器学习(十一) 支持向量机 SVM(上)

    一.什么是支撑向量机SVM (Support Vector Machine) SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法.在机器学习领域,是一个有监督 ...

  9. Flux架构与Redux简介

    Flux架构区别于传统的MVC架构 在facebook实践中, 当用户接收到新消息时,右上角会弹出你有一条新消息, 右下角的对话框也会提示有新消息, 如果用户在对话框中查看了新消息,那么右上角的这个新 ...

  10. [codevs3657]括号序列

    题目大意:有一列只有'(',')','[',']'构成的括号序列,求在序列中至少加上多少括号,能使该序列合法. 解题思路:区间dp. 我们以$f[i][j]$表示把区间$[i,j]$添成合法括号所需的 ...