計蒜客天上的星星

2021-08-16 03:35:22 字數 1451 閱讀 9410

在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。

蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 n

n 顆星星,他能知道每一顆星星的座標和亮度。

現在,蒜頭君問自己 q

q 次,每次他問自己每個矩形區域的星星的亮度和是多少(包含邊界上的星星)。

第一行輸入乙個整數 n(1 \le n \le 50000)n(

1≤n≤

5000

0)表示星星的數量。

接下裡 n

n 行,每行輸入三個整數 x,y,w(0 \le x, y, w\le 2000)x,

y,w(

0≤x,

y,w≤

2000

),表示在座標 (x,y)(x

,y) 有一顆亮度為 w

w 的星星。注意乙個點可能有多個星星。

接下來一行輸入乙個整數 q(1 \le q \le 50000)q(

1≤q≤

5000

0),表示查詢的次數。

接下來 q

q 行,每行輸入四個整數 x_1, y_1, x_2, y_2x1

​,y1

​,x2

​,y2

​,其中 (x_1, y_1)(x

1​,y

1​) 表示查詢的矩形的左下角的座標,(x_2, y_2)(x

2​,y

2​) 表示查詢的矩形的右上角的座標,0 \le x_1 \le x_2 \le 20000≤

x1​≤

x2​≤

2000

,0 \le y_1 \le y_2 \le 20000≤

y1​≤

y2​≤

2000

。對於每一次查詢,輸出一行乙個整數,表示查詢的矩形區域內的星星的亮度總和。

樣例輸入

5

5 0 6

7 9 7

8 6 13

9 7 1

3 0 19

40 8 7 9

0 0 7 10

2 7 10 9

5 4 7 5

樣例輸出

7328

0

#include#include#includeusing namespace std;

int a[2010][2010];

int map[2010][2010];

int main()

{ int i,j,q,n,x1,x2,y1,y2,x,y,w;

scanf("%d",&n);

memset(map,0,sizeof(map));

for(i=0;i

計蒜客 天上的星星

傳送門 在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 n n 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 q 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 第一行輸入乙個整數 n...

計蒜客 天上的星星(字首和)

天上星星 在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入...

計蒜客 天上的星星 字首和

在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入乙個整數 ...