題解 P1578 奶牛浴場

2022-03-26 06:12:07 字數 1066 閱讀 7144

題目鏈結

由於john建造了牛場圍欄,激起了奶牛的憤怒,奶牛的產奶量急劇減少。為了討好奶牛,john決定在牛場中建造乙個大型浴場。但是john的奶牛有乙個奇怪的習慣,每頭奶牛都必須在牛場中的乙個固定的位置產奶,而奶牛顯然不能在浴場中產奶,於是,john希望所建造的浴場不覆蓋這些產奶點。這回,他又要求助於clevow了。你還能幫助clevow嗎?

john的牛場和規劃的浴場都是矩形。浴場要完全位於牛場之內,並且浴場的輪廓要與牛場的輪廓平行或者重合。浴場不能覆蓋任何產奶點,但是產奶點可以位於浴場的輪廓上。

clevow當然希望浴場的面積盡可能大了,所以你的任務就是幫她計算浴場的最大面積。

這道題我們需要用到王知昆dalao的演算法。

我們先要以行為第 \(1\) 關鍵字排序,再以列為第 \(2\) 關鍵字排序。

我們從乙個點往右掃。

確定乙個上邊界 \(x\) 和下邊界 \(y\)。

掃的時候不斷地去更新。

我們從乙個點往左掃。

確定乙個上邊界 \(x\) 和下邊界 \(y\)。

掃的時候不斷地去更新。

還有一種情況就是

所以,我們得判斷這種條件。

注意:邊界條件,需要手動加 \(4\) 個點

\(1,1\)、\(1,n\)、\(n,1\)、\(n,n\)

核心**:

a[++n]=;a[++n]=;a[++n]=;a[++n]=;

sort(a+1,a+n+1,cmp1);

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

x=0;y=w;

for(int j=i-1;j>=1;j--)

}sort(a+1,a+n+1,cmp2);

for(int i=2;i<=n;i++)ans=max(ans,(a[i].y-a[i-1].y)*l);

洛谷P1578 奶牛浴場

由於john建造了牛場圍欄,激起了奶牛的憤怒,奶牛的產奶量急劇減少。為了討好奶牛,john決定在牛場中建造乙個大型浴場。但是john的奶牛有乙個奇怪的習慣,每頭奶牛都必須在牛場中的乙個固定的位置產奶,而奶牛顯然不能在浴場中產奶,於是,john希望所建造的浴場不覆蓋這些產奶點。這回,他又要求助於cle...

P1578 奶牛浴場 懸線法 dp

原題 題解 給一些障礙物,求最大矩形的面積,不能覆蓋障礙物。懸線概念 有效豎線 除了兩個端點外,不覆蓋任何障礙點的豎直線段。懸線 上端點覆蓋了乙個障礙點或達到整個矩形上端的有效豎線。每個懸線都與它底部的點一 一對應。每個懸線可以向左右擴充套件就會得到乙個矩形。最大矩形一定在這些矩形中。設 h i j...

P1578 奶牛浴場(懸線 極大值)

原題 題意 n m的矩陣,有幾個點 不是格仔而是座標點 問最大的沒有覆蓋這些點的矩陣。解析 首先搞清楚模型,1,1 和 4,4 是右邊的情況,因為給出的案例下面兩種答案都是80。這題雖然不能用懸線法 矩陣太大不可能列舉點 來做,但是可以用類似懸線的思想來做。對答案子矩陣進行分析,四個邊,如果沒有被約...