題解 HNOI2003 雷射炸彈

2022-05-23 11:18:08 字數 1322 閱讀 6134

基本的二維字首和,把從(0,0)到任何乙個點圍成的矩形中所有的價值計算出來,然後再通過容斥原理算出所有可能正方形中的價值之和。

如果把初始的地圖存入a陣列,那麼它的二位字首和s就是:

$s[i][j]=\sum_^ \sum_^ a[x][y] $

根據容斥原理,有:

\(s[i][j] = s[i-1][j]+s[i][j-1]+a[i][j]-s[i-1][j-1]\)

這樣,就可以利用上述遞推式推出s陣列。

同時,對於任意乙個邊長為r,最靠近原點的頂點為\((x, y)\)的正方形,其內部所有點的價值之和為:

\(s[x+r][y+r]-s[x+r][y]-s[x][y+r]+s[x][y]\)

這樣,就可以以\(o(n^2)\)的時間複雜度解題。

這題有125mb的空間限制,根據上述遞推式,只需要乙個陣列就可以完成,開兩個範圍為5000的二位陣列貌似過不了。。

資料規模約定中,n最大可以到\(10^4\),然而並沒有那麼大的地圖,相當於「全圖轟炸」,此時效果與\(n=5*10^3\)效果相同,可以直接替換。陣列開到\(10^4\)的話會爆空間的。

陣列稍微開大一點點。

最重要的一點,資料要從\((1,1)\)開始存,也就是說,邊界應該為0,這樣才能保證邊界的數可以被正確計算

我一開始沒有注意第3點,之後在洛谷得了90分,被這樣乙個資料卡住了:

可以看到,全是第0列的點。。

之後自己造了乙個資料,成功發現了這個問題:

HNOI2003 雷射炸彈題解

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

HNOI2003 雷射炸彈

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

HNOI2003 雷射炸彈

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