NC20032 雷射炸彈

2021-10-06 04:53:48 字數 1682 閱讀 3005

nc20032

hnoi2003]雷射炸彈

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

現在地圖上有n(n ≤ 10000)個目標,用整數xi,yi(其值在[0,5000])表示目標在地圖上的位置,每個目標都有乙個價值。

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

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

#define debug

#ifdef debug

#include

#include

"/home/majiao/mb.h"

#endif

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define maxn (5120)

#define ll long long int

#define inf (0x7f7f7f7f)

#define qaq (0)

using

namespace std;

#ifdef debug

#define show(x...) \

do while (0)

void

err(

)template

<

typename t,

typename..

. a>

void

err(t a, a.

.. x)

#endif

int n, m, q, k, mtx[maxn]

[maxn]

, sum[maxn]

[maxn]

, n;

intmain()

for(

int i=

1; i<=n; i++

)for

(int k=

1; k<=n; k++

) sum[i]

[k]= mtx[i]

[k]+sum[i-1]

[k]+sum[i]

[k-1

]-sum[i-1]

[k-1];

//列舉右下角點

int ans =0;

for(

int i=k; i<=n; i++

)for

(int k=k; k<=n; k++

)printf

("%d\n"

, ans)

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

// forarr(mtx[i], 1, n);

#ifdef debug

clock_t etime =

clock()

;printf

("rum time: %lf 秒\n",(

double

)(etime-stime)

/clocks_per_sec)

;#endif

return0;

}

99 雷射炸彈

假設邊長為2,該題就是將邊長為2的正方形從左到右平移,然後換下一行從左到右平移,邊平移邊記錄該區域內的總值,最終取乙個最大的 字首和 a 1 a 2 a 3 a n s i a 1 a 2 a i a 3 a 4 a 15 s 15 s 2 include using namespace std c...

雷射炸彈 模擬

給出乙個 5000 5000 role presentation style position relative 5000 5000 5000 5000 的矩陣,每個格仔上都有權值,求用乙個n n role presentation style position relative n n n n的框...

雷射炸彈解題報告

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