3154: 线段树矩阵

时间限制:1000 ms 内存限制:128 MB
上传者:
提交:212 通过:18

题目描述

彩红岛岛主总共有两个数组 A 和 B,长度分别为 $n$ 和 $m$,可是彩虹岛恶魔需要一个矩阵 C,所以岛主就根据如下规则形成了 n*m 的矩阵C:
$$
C_{i,j}=A_i*B_j
$$
可恶的恶魔仍然不满意,要求岛主针对恶魔的每一次询问都要回答出正确的答案。

共有 $T$ 次询问,每次询问给四个数分别为 ($x_1,y_1$) 和 ($x_2,y_2$) ,(代表一个子矩阵的左上角坐标和右下角坐标),
要求岛主给出该子矩阵的和,你能帮帮善良的岛主吗?

输入格式

第一行为两个数 $n$ 和 $m$,用空格隔开,分别代表数组 A 和 B 的长度。$1≤n,m≤100000$

第二行为 $n$ 个数,代表数组 A ,用空格隔开。 $1\le A_i\le 1000 ~~~~(1\le i\le n)$

第三行为 $m$ 个数,代表数组 B ,用空格隔开。$1\le B_i\le1000~~~(1\le i\le m)$

第四行为一个数 $T$,表示 $T$ 组询问。$1\le T \le 1e5$
第 5 到 5+$T$-1 行,每行四个数 $x_1$,$y_1$,$x_2$,$y_2$,用空格隔开,表示询问的子矩阵左上角坐标为 ($x_1,y_1$) ,右下角坐标为 ($x_2,y_2$)。$1\le x_2,x_2\le n,1\le y_1,y_2\le m$

输出格式

对于每一个询问,输出子矩阵的和。

输入样例 复制

3 4
1 1 1
1 1 1 1
1 
1 1 2 2

输出样例 复制

4