二維字首和之雷射炸彈

2022-06-09 08:15:10 字數 1708 閱讀 7682

一種新型的雷射炸彈,可以摧毀乙個邊長為 r

'>r

r 的正方形內的所有的目標。

現在地圖上有 n

'>n

n 個目標,用整數xi,

yi'>xi,yi

xi,yi 表示目標在地圖上的位置,每個目標都有乙個價值w

i'>wi

wi 。

雷射炸彈的投放是通過衛星定位的,但其有乙個缺點,就是其**範圍,即那個邊長為 r

'>r

r 的正方形的邊必須和x,y

'>x,y

x,y 軸平行。

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

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

輸入格式

第一行輸入正整數 n

'>n

n 和 r

'>r

r ,分別代表地圖上的目標數目和正方形的邊長,資料用空格隔開。

接下來n

'>n

n 行,每行輸入一組資料,每組資料報括三個整數xi,

yi,w

i'>xi,yi,wi

xi,yi,wi ,分別代表目標的x

'>x

x 座標,y

'>y

y 座標和價值,資料用空格隔開。

輸出格式

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

資料範圍0≤

r≤109

'>0≤r≤1e9

010000

'>0

≤xi,

yi≤5000

'>0≤xi,yi≤50000≤

wi≤1000

'>0≤wi≤1000

輸入樣例:

2 1
0 0 1

1 1 1輸出樣例:

1
求某點的字首和:

s[i][j]=g[i-1][j]+g[i][j-1]-g[i-1][j-1]+g[i][j];

二維字首和:

紅色部分的面積就是全部有色的面積減去綠色的面積加上黃色的面積(因為多剪了)

ac**:

#includeusing

namespace

std;

const

int maxn=5050

;int

n1,r;

intg[maxn][maxn];

intmain()

for(int i=1;i<=n;i++)

}int ans=0

;

intt;

for(int i=r;i<=n;i++)

}cout

}

雷射炸彈 二維字首和

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

雷射炸彈 二維字首和

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

雷射炸彈 UPC二維字首和

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