bzoj1218 本來dp 但是資料弱 列舉可過

2022-03-30 13:24:15 字數 1116 閱讀 5821

1

program

hehe;

2var

3ans,n,r,i,j,k,x,y:longint;

4 c:array[-10..5000,-10..5000] of

longint;

5begin

6readln(n,r);

7for i:=1

to n do

8begin

9read(x,y);

10read(c[x,y]);

11end;12

for i:=0

to5000

do13

for j:=0

to5000

do14 c[i,j]:=c[i,j]+c[i-1,j]+c[i,j-1]-c[i-1,j-1

];15

for i:=r-1

to5000

do16

for j:=r-1

to5000

do17

if c[i,j]-c[i-r,j]-c[i,j-r]+c[i-r,j-r]>ans then

18 ans:=c[i,j]-c[i-r,j]-c[i,j-r]+c[i-r,j-r];

19writeln(ans);

20end.

view code

time limit: 10 sec  memory limit: 162 mb

submit: 1297  solved: 624

[submit][status][discuss]

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

輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示

輸出檔案僅有乙個正整數,表示一顆炸彈最多能炸掉地圖上總價值為多少的目標(結果不會超過32767)。

2 10 0 1

1 1 11dp

Bzoj1218 雷射炸彈

給你n個點的座標xi,yi。求乙個邊長為k的正方形能覆蓋多少點。可以列舉。但是要加乙個二維字首和。統計的時候可以畫乙個圖。首先a i j 是乙個大矩形。之後在旁邊切掉兩個小矩形,但多切掉了乙個重複部分,要把它加上。include include define rep i begin end for ...

BZOJ1218(線段樹 掃瞄線)

1.掃瞄線掃瞄x軸,線段樹維護y軸。2.座標 1,線段樹是從1開始維護。然後讓邊長 這樣就能包含邊上的點了。3.為了保證點在正方形內 在x軸上利用差分的思想,在x出add val 在x r 已經 1了 處add val 在y軸上利用線段樹維護1 5001這個區間,在y y r上add val 題解部...

bzoj 1218 HNOI2003 雷射炸彈

description 在長為5001的正方形矩陣中,有n個特殊的點,有相應的值。現在用乙個與x,y軸平行的長為r的正方形矩陣套點 不含邊緣 使裡面的特殊點的總值最大。input 輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示位置與值。output 輸出檔案僅有乙個正整...