#9824. [CQOI2017] 老C的任务

    ID: 9824 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组二维离线查询矩形点权和扫描线

[CQOI2017] 老C的任务

题目描述

C\text{C} 是个程序员。

最近老 C\text{C} 从老板那里接到了一个任务——给城市中的手机基站写个管理系统。作为经验丰富的程序员,老 C\text{C} 轻松地完成了系统的大部分功能,并把其中一个功能交给你来实现。

由于一个基站的面积相对于整个城市面积来说非常的小,因此每个的基站都可以看作坐标系中的一个点,其位置可以用坐标 (x,y)(x,y) 来表示。此外,每个基站还有很多属性,例如高度、功率等。运营商经常会划定一个区域,并查询区域中所有基站的信息。

现在你需要实现的功能就是,对于一个给定的矩形区域,回答该区域中(包括区域边界上的)所有基站的功率总和。如果区域中没有任何基站,则回答 00

输入格式

第一行两个整数 n,mn,m,表示一共有 nn 个基站和 mm 次查询。

接下来一共有 nn 行,每行由 xi,yi,pix_i,y_i,p_i 三个空格隔开的整数构成,表示一个基站的坐标 (xi,yi)(x_i,y_i) 和功率 pip_i。不会有两个基站位于同一坐标。

接下来一共有 mm行,每行由 x1j,y1j,x2j,y2jx1_j,y1_j,x2_j,y2_j 四个空格隔开的整数构成,表示一次查询的矩形区域。该矩形对角坐标为 (x1j,y1j)(x1_j,y1_j)(x2j,y2j)(x2_j,y2_j) ,且四边与坐标轴平行。

输出格式

输出 mm 行,每行一个整数,对应每次查询的结果。

4 2   
0 0 1 
0 1 2  
2 2 4  
1 0 8  
0 0 1 1 
1 1 5 6
11
4
3 2
-100 0 16 
1 -10 32 
1000 100 64 
0 0 0 1 
-1000 -1000 10000 10000
0
112

样例分析

如上所述。

数据范围与提示

对于第 121 \sim 2 个测试点,1n,m1001 \le n,m \le 100

对于第 353 \sim 5 个测试点,1n50000,1m100001 \le n \le 50000,1 \le m \le 10000

对于第 6106 \sim 10 个测试点,1n105,1m1051 \le n \le 10^5,1 \le m \le 10^5,数据有梯度;

对于所有测试点,$-2^{31}\le x_i,y_i,p_i,x1_j,y1_j,x2_j,y2_j<2^{31},x1_j\le x2_j,y1_j\le y2_j$。