Vijos P1055 奶牛浴场

来源:互联网 发布:编程数学 编辑:程序博客网 时间:2024/04/30 09:02

详见(《用极大化思想解决最大子矩阵问题》论文)(这算个毛。。。。)

#include<cstdio>#include<algorithm>using namespace std;struct newtype {int x,y;};newtype a[6000];bool cmp(const newtype &p,const newtype &q) {return(p.x<q.x);}int main(){int l,w,n,ans=0;scanf("%d %d %d",&l,&w,&n); for(int i=1;i<=n;i++)scanf("%d %d",&a[i].x,&a[i].y); a[++n]=(newtype){0,0}; a[++n]=(newtype){l,0};a[++n]=(newtype){l,w}; a[++n]=(newtype){0,w};sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++){int down=0,up=w;for(int j=i+1;j<=n;j++){if(a[j].x==a[i].x) continue;ans=max(ans,abs((up-down)*(a[i].x-a[j].x)));if(a[j].y==a[i].y) break; if(a[j].y>a[i].y) up=min(up,a[j].y);if(a[j].y<a[i].y) down=max(down,a[j].y); }}printf("%d",ans); while(1);return 0;}


 

0 0
原创粉丝点击