[題解][洛谷P1578] 奶牛浴場

ZWZWW發表於2024-10-04

題目描述
在長寬為L,W的二維平面上有n個障礙點,試找到一個不覆蓋任何障礙點(但點可以在邊緣線上的)面積最大的矩形(長寬均與座標軸平行)。
輸出面積。

題意分析
n的範圍在5e3,考慮O(n2)的做法。
易得面積最大的矩形四條邊要麼有障礙點,要麼覆蓋的邊界。否則四條邊可以繼續擴充套件,面積會變得更大。
那麼考慮對點的X座標排序,以每兩個點向x軸做垂線作為矩形的兩條邊,統計這兩條邊之間最大能覆蓋多少面積即可。
由於邊界線的情況,需將(0,0)點和(L,W)點也放入n個障礙點之中考慮。
設i,j表示矩形兩條邊所找的點,在從i迴圈到j的過程中用遇到的點更新所得矩形的邊界。
設k是i,j之間的點,若y[k]>y[i],說明上邊界最多隻能擴充套件到y[k];反之,下邊界最多隻能擴充套件到y[k]。

相關文章