日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

前缀和-天上的星星

發(fā)布時(shí)間:2024/4/15 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前缀和-天上的星星 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目:

在一個(gè)星光摧殘的夜晚,蒜頭君一顆一顆的數(shù)這天上的星星。

蒜頭君給在天上巧妙的畫了一個(gè)直角坐標(biāo)系,讓所有的星星都分布在第一象。天上有?n?顆星星,他能知道每一顆星星的坐標(biāo)和亮度。

現(xiàn)在,蒜頭君問自己?q?次,每次他問自己每個(gè)矩形區(qū)域的星星的亮度和是多少(包含邊界上的星星)。

輸入格式

第一行輸入一個(gè)整數(shù)?n(1n50000)?表示星星的數(shù)量。

接下里?nn?行,每行輸入三個(gè)整數(shù)?x,y,w。x,y,w(0x,y,w2000),表示在坐標(biāo)?(x,y)?有一顆亮度為?w?的星星。注意一個(gè)點(diǎn)可能有多個(gè)星星。

接下來一行輸入一個(gè)整數(shù)?q(1q50000),表示查詢的次數(shù)。

接下來?q?行,每行輸入四個(gè)整數(shù)?x1, y1, x2, y2,其中(x1?,y1?)?表示查詢的矩形的左下角的坐標(biāo),(x2?,y2?)?表示查詢的矩形的右上角的坐標(biāo),0x1?x2?2000,0y1?y2?2000。

輸出格式

對(duì)于每一次查詢,輸出一行一個(gè)整數(shù),表示查詢的矩形區(qū)域內(nèi)的星星的亮度總和。

樣例輸入復(fù)制

5 5 0 6 7 9 7 8 6 13 9 7 1 3 0 19 4 0 8 7 9 0 0 7 10 2 7 10 9 5 4 7 5

樣例輸出復(fù)制

7 32 8 0

題目來源:https://nanti.jisuanke.com/t/A1603

前綴和:https://blog.csdn.net/k_r_forever/article/details/81775899

?

代碼:

#include<cstdio> #include<iostream> using namespace std; int a[2005][2005]; int main() {int n,x,y,w;int q,x1,x2,y1,y2;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d%d",&x,&y,&w);a[x+1][y+1]+=w; //因?yàn)樾切强梢灾貜?fù),即亮度可以疊加,考慮到邊界問題,所以對(duì)坐標(biāo)+1 }for(int i=0;i<2005;i++){for(int j=1;j<2005;j++){a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];}}scanf("%d",&q);for(int i=0;i<q;i++){scanf("%d%d%d%d",&x1,&y1,&x2,&y2);++x1;++x2;++y1;++y2;//考慮邊界,坐標(biāo)依次+1int ans=a[x2][y2]-a[x2][y1-1]-a[x1-1][y2]+a[x1-1][y1-1];printf("%d\n",ans);}return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/LJHAHA/p/10641230.html

總結(jié)

以上是生活随笔為你收集整理的前缀和-天上的星星的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。