题目 1415

矩形加点求和

查看题解 ↗GitHub ↗如何评测
题号
1415
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构树状数组分治
来源
Library Checker (yosupo06) - rectangle_add_point_get

【题目描述】

二维平面上有 NN 个带权矩形。第 ii 个矩形的位置为

[li,ri)×[di,ui)={(x,y)∈R2∣li≤x<ri, di≤y<ui}[l_i,r_i) \times [d_i,u_i) = \{(x,y)\in \mathbb{R}^2 \mid l_i\leq x < r_i,\ d_i \leq y < u_i\}

权值为 wiw_i。现在依次处理 QQ 个操作,操作分两种:

  • 0 l d r u w:在 [l,r)×[d,u)[l,r) \times [d,u) 处添加一个权值为 ww 的新矩形;
  • 1 x y:求所有包含点 (x,y)(x,y) 的矩形的权值之和。

【输入】

第一行包含两个整数 NN 和 QQ,表示初始矩形个数和操作个数。

接下来 NN 行,第 ii 行包含五个整数 li di ri ui wil_i\ d_i\ r_i\ u_i\ w_i,表示第 ii 个矩形的位置与权值。

接下来 QQ 行,每行描述一个操作:

  • 0 l d r u w:添加一个权值为 ww、位置为 [l,r)×[d,u)[l,r) \times [d,u) 的矩形;
  • 1 x y:查询包含点 (x,y)(x,y) 的矩形权值之和。

【输出】

对每个 1 x y 的查询操作,输出一行一个整数,表示所有包含点 (x,y)(x,y) 的矩形的权值之和。

【输入样例】

文本
4 9
1 2 2 3 1
1 1 2 5 10
2 2 5 5 100
3 1 5 2 1000
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3

【输出样例】

文本
10
11
10
0
100
100
1000
100
100

【输入样例2】

文本
2 8
1 2 2 3 1
1 1 2 5 10
1 1 2
1 2 3
0 1 1 3 3 100
1 1 2
1 2 3
0 2 1 3 5 1000
1 1 2
1 2 3

【输出样例2】

文本
11
0
111
0
111
1000

【数据范围】

  • 1≤N≤1000001 \leq N \leq 100000
  • 1≤Q≤1000001 \leq Q \leq 100000
  • 0≤li<ri≤1090 \leq l_i < r_i \leq 10^9
  • 0≤di<ui≤1090 \leq d_i < u_i \leq 10^9
  • 0≤wi≤1090 \leq w_i \leq 10^9
  • 对于 0 l d r u w 操作:0≤l<r≤1090 \leq l < r \leq 10^9,0≤d<u≤1090 \leq d < u \leq 10^9,0≤w≤1090 \leq w \leq 10^9
  • 对于 1 x y 操作:0≤x,y≤1090 \leq x, y \leq 10^9

【来源】

Library Checker(yosupo06) rectangle_add_point_get

数据下载

题目 1415 的公开数据

正在读取文件列表…

常用命令

题目 1415 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。