雷射炸彈 二維字首和

2021-10-02 09:47:47 字數 1257 閱讀 8758

一種新型的雷射炸彈,可以摧毀乙個邊長為 r 的正方形內的所有的目標。

現在地圖上有 n 個目標,用整數xi,yi表示目標在地圖上的位置,每個目標都有乙個價值wi。

雷射炸彈的投放是通過衛星定位的,但其有乙個缺點,就是其**範圍,即那個邊長為 r 的正方形的邊必須和x,y軸平行。

若目標位於爆破正方形的邊上,該目標不會被摧毀。

求一顆炸彈最多能炸掉地圖上總價值為多少的目標。

輸入格式

第一行輸入正整數 n 和 r ,分別代表地圖上的目標數目和正方形的邊長,資料用空格隔開。

接下來n行,每行輸入一組資料,每組資料報括三個整數xi,yi,wi,分別代表目標的x座標,y座標和價值,資料用空格隔開。

輸出格式

輸出乙個正整數,代表一顆炸彈最多能炸掉地圖上目標的總價值數目。

資料範圍

0≤r≤109

0題意:用乙個正方形去選擇該面積中最大價值的一塊。

做法:利用二維字首和維護。

遞推式:

f [i

][j]

=f[i

−1][

j]+f

[i][

j−1]

−f[i

−1][

j−1]

+f[i

][j]

f[i][j] = f[i - 1][j] + f[i][j - 1] - f[i - 1][j - 1] + f[i][j]

f[i][j

]=f[

i−1]

[j]+

f[i]

[j−1

]−f[

i−1]

[j−1

]+f[

i][j

]

#include 

using namespace std;

int f[

5010][

5010];

int n,m,r,c,x,y,z;

int ans;

intmain()

for(

int i =

1; i <= r; i++)}

for(

int i = m; i <= r; i++)}

cout << ans << endl;

return0;

}/*2 10 0 1

1 1 1

*/

雷射炸彈 二維字首和

或者 一種新型的雷射炸彈,可以摧毀乙個邊長為 r 的正方形內的所有的目標。現在地圖上有 n個目標,用整數xi,yi表示目標在地圖上的位置,每個目標都有乙個價值wi。雷射炸彈的投放是通過衛星定位的,但其有乙個缺點,就是其 範圍,即那個邊長為 rr的正方形的邊必須和x,y軸平行。若目標位於爆破正方形的邊...

雷射炸彈 UPC二維字首和

題目描述 一種新型的雷射炸彈,可以摧毀乙個邊長為r的正方形內的所有的目標。現在地圖上有n n 10000 個目標,用整數xi,yi 0 xi,yi 5000 表示目標在地圖上的位置,每個目標都有乙個價值0 vi 100。雷射炸彈的投放是通過衛星定位的,但其有乙個缺點,就是其爆破範圍,即那個邊長為r的...

雷射炸彈(二維字首和 思維)

題目 一種炸彈可以將邊長為r的正方形內的所有目標摧毀,問一顆炸彈最多能摧毀多少價值的目標 以 1,1 為起始點,v i j 表示點 1,1 到點 i,j 矩陣的目標價值和。那麼如何計算v i j 模擬一維裡面 psum i psum i 1 右下角的位置為 i,j 左上角為 1,1 v i j 1 ...