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的正方形的邊...