WC2002 奶牛浴場

2021-07-09 12:07:23 字數 1830 閱讀 8174

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

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

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

輸入檔案的第一行包含兩個整數l和w,分別表示牛場的長和寬。檔案的第二行包含乙個整數n,表示產奶點的數量。以下n行每行包含兩個整數x和y,表示乙個產奶點的座標。所有產奶點都位於牛場內,即:0<=x<=l,0<=y<=w。

輸出檔案僅一行,包含乙個整數s,表示浴場的最大面積。

10 10

41 1

9 11 9

9 9

80

各個測試點1s

0<=n<=5000

1<=l,w<=30000

winter camp 2002

【題解】

懸線法演算法1模板題

具體的過程就不說了,說幾種特殊的情況

1、當前點在邊界之外:直接計算當前的極大子矩形的值,不改變上線邊界

2、當前點和左邊界的點行相同:更新上下邊界時哪個近更新哪個

3、在整個矩形的四個頂點處各放乙個點

【**】

#include#include#include#includeusing namespace std;

struct hptemp[5050];

int l,w,x,y,n,ans,tot,up,down;

int cmp(hp a,hp b)

int main(){

scanf("%d%d",&l,&w);

scanf("%d",&n);

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

scanf("%d%d",&x,&y),temp[++tot].x=x,temp[tot].y=y;

temp[++tot].x=0,temp[tot].y=0; temp[++tot].x=0,temp[tot].y=w;

temp[++tot].x=l,temp[tot].y=0; temp[++tot].x=l,temp[tot].y=w;

sort(temp+1,temp+tot+1,cmp);

for (int i=2;i<=tot;++i)

ans=max(ans,(temp[i].x-temp[i-1].x)*w);

sort(temp+1,temp+tot+1,cmp1);

for (int i=1;i=up&&temp[j].x<=down){

ans=max(ans,(temp[j].y-temp[i].y)*(down-up));

if (temp[j].xtemp[i].x) down=temp[j].x;

else if (temp[j].x==temp[i].x){

if (temp[j].x-up=up&&temp[j].x<=down){

ans=max(ans,(temp[i].y-temp[j].y)*(down-up));

if (temp[j].xtemp[i].x) down=temp[j].x;

else if (temp[j].x==temp[i].x){

if (temp[j].x-up

Wc2002 奶牛浴場

懸線法模板題,見上文 include include include include include using namespace std int ans,n,m,z,cnt struct pointp 5050 int cmp1 const point a,const point b for i...

洛谷 P1578 WC2002 奶牛浴場

這樣做是否將所有的極大子矩形都列舉過了呢?可以發現,這樣做只考慮到了左邊界覆蓋乙個點的矩形,因此我們還需要列舉左邊界與整個矩形的左邊界重合的情況。這還可以分為兩類情況。一種是左邊界與整個舉行的左邊界重合,而右邊界覆蓋了乙個障礙點的情況,對於這種情況,可以用類似的方法從右到左掃瞄每乙個點作為右邊界的情...

18 03 20 vijos1055奶牛浴場

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