藍橋杯 2018 H 天上的星星

2021-08-16 07:08:28 字數 1607 閱讀 4545

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

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

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

現在,蒜頭君問自己 q

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

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

1≤n≤

5000

0)表示星星的數量。

接下裡 nn

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

y,w(

0≤x,

y,w≤

2000

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

,y) 有一顆亮度為 ww

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

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

1≤q≤

5000

0),表示查詢的次數。

接下來q

q 行,每行輸入四個整數 x1,y1,x2,y2x_1, y_1, x_2, y_2x1

​,y1

​,x2

​,y2

​,其中 (x1,y1)(x_1, y_1)(x

1​,y

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

2​,y

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

x1​≤

x2​≤

2000

,0≤y1≤y2≤20000 \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

解題思路:對已有資訊進行處理用 a[i][j] 表示從左下角(0,0)到右上角(i,j)所有星星的總亮度。

用      a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1];

當右下角座標的值不同做出不一樣的處理看**很好理解。^^

#include#includeint a[2005][2005];

int n,x,y,w,x2,y2;

int main()

else if(x>0&&y==0)

else

}} return 0;

}

2018H 合併兩個有序陣列

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。示例 輸...

藍橋杯 2018 全體變暖

你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就會被淹...

藍橋杯模擬題 天上的星星(字首和)

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