給你n個點的座標xi,yi。求乙個邊長為k的正方形能覆蓋多少點。
可以列舉。但是要加乙個二維字首和。統計的時候可以畫乙個圖。首先a[i][j]是乙個大矩形。之後在旁邊切掉兩個小矩形,但多切掉了乙個重複部分,要把它加上。
#include
#include
#define rep( i , _begin , _end ) for(int i=(_begin);i<=(_end);i++)
#define for( i , _begin , _end ) for(int i=(_begin);i!=(_end);i++)
using
std :: max;
using
std :: min;
const
int maxx = 5000 + 25;
int x[maxx<<1],y[maxx<<1],v[maxx<<1];
int a[maxx][maxx];
int n,k,ans;
int main()
bzoj 1218 HNOI2003 雷射炸彈
description 在長為5001的正方形矩陣中,有n個特殊的點,有相應的值。現在用乙個與x,y軸平行的長為r的正方形矩陣套點 不含邊緣 使裡面的特殊點的總值最大。input 輸入檔案的第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示位置與值。output 輸出檔案僅有乙個正整...
bzoj1218 HNOI2003 雷射炸彈
題目傳送門 看到十秒果斷想到暴力,結果一維字首和優化tle了,只好去 了一發二維字首和。花了幾分鐘看了一下,發現其實就是個簡單的容斥原理。以矩陣的右下角作為描述點,預處理出所有的矩陣f i j 表示從 1,1 到 i,j 所有值的和。那麼如圖所示 要求的部分就是紅色部分。設紅色部分右下角的座標為 n...
BZOJ 1218(HNOI2003) 雷射炸彈
一種新型的雷射炸彈,可以摧毀乙個邊長為r的正方形內的所有的目標。現在地圖上有n n 10000 個目標,用整數xi,yi 0 xi,yi 5000 表示目標在地圖上的位置,每個目標都有乙個價值0第一行為正整數n和正整數r,接下來的n行每行有3個正整數,分別表示xi,yi,vi 僅有乙個正整數,表示一...