Wc2002 奶牛浴場

2021-07-26 03:05:32 字數 966 閱讀 7972

懸線法模板題,見上文

> `#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 (int i = 1;i <= z;i++)

scanf("%d%d",&p[i].x,&p[i].y);

p[++z] = (point);p[++z] = (point);

sort(p+1,p+z+1,cmp1);

ans = 0 , cnt = 0;

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

cnt = max(cnt , p[i].x-p[i-1].x);

ans = cnt * m;

sort(p+1,p+z+1,cmp2);

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

}// cout= 1;i--)

// if ((down - up) * p[i].y == 81)cout}

cout

《跑的很慢,最慢的點跑了250ms,加以列舉剪枝優化後,最慢跑了30ms,應該也是資料水,感覺缺少了對於矩形左邊與左邊界重合時的列舉。

#include

#include

using

namespace

std;

int n,l,w,ans;

typedef

structp;

bool cmp(p a,p b)

}printf("%d\n",ans);

return

0;}

WC2002 奶牛浴場

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

洛谷 P1578 WC2002 奶牛浴場

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

18 03 20 vijos1055奶牛浴場

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