HNOI2003 雷射炸彈

2021-09-12 00:05:43 字數 1865 閱讀 9824

description

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

input

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

output

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

sample input

2 10 0 1

1 1 1

sample output

1

哇!!省選題好難啊!!

emm 事實上這是一道非常非常水的省選題!

好吧,現在來說題解。

維護乙個二維字首和即可。

這麼水的題還看題解

甩**.jpg

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define fup(i, a, b) for(int i = a; i <= b; ++i)

#define fdown(i, a, b) for(int i = a; i >= b; --i)

#define pri_(k) printf("%d ", k)

#define pri(k) printf("----%d---\n", k)

const

int maxn =

5e3+

100;

const

int inf =

0x3f3f3f3f

;typedef

long

long ull;

namespace millope

inline

intkmin

(int a,

int b)

inline

intkmax

(int a,

int b)

inline

intread()

while

(isdigit

(ch)

)return s * w;}}

using

namespace millope;

using

namespace std;

int n;

int r;

int ans;

int a[maxn]

[maxn]

;#define n 5001

intmain()

for(

int i =

1; i <= n;

++i)

}for

(int i =

1; i <= n;

++i)

}for

(int i = r; i <= n;

++i)

}printf

("%d\n"

, ans)

;return0;

}

HNOI2003 雷射炸彈

bzoj 1218 bzoj好像改版來著?暫時關了 求出f i j 代表從 1,1 到 i,j 這個矩陣的總價值和再列舉r r的矩形就好了 題目給了10s,放心暴力 不就是字首資料嘛。mdzz bzoj description 一種新型的雷射炸彈,可以摧毀乙個邊長為r的正方形內的所有的目標。現在地圖...

HNOI2003 雷射炸彈

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

HNOI2003 雷射炸彈題解

題目 輸入輸出格式 輸入格式 輸入檔案的第一行為正整數 n n 和正整數 r role presentation style position relative r r,接下來的 n n 行每行有3個正整數,分別表示 xi role presentation style position relat...