【WC2002】奶牛浴场
来源:互联网 发布:专业足球数据网站 编辑:程序博客网 时间:2024/05/21 09:34
题目链接:传送门
题解:
方法一见 【codevs1159】最大全0子矩阵
枚举每一个障碍点作为左边界扩展极大子矩阵,复杂度
//by sdfzchy#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;typedef long long LL;struct node{ int x,y;}p[5050];int n,m,tot,ans;bool cmp(node a,node b) {return a.x<b.x;}bool cmpp(node a,node b){return a.y<b.y;}bool cmppp(node a,node b){return a.y>b.y;}int main(){ scanf("%d%d%d",&n,&m,&tot); for(int i=1;i<=tot;i++) scanf("%d%d",&p[i].x,&p[i].y); p[++tot]=(node){0,0};p[++tot]=(node){0,m}; p[++tot]=(node){n,0};p[++tot]=(node){n,m}; sort(p+1,p+tot+1,cmp); for(int i=2;i<=tot;i++) ans=max(ans,(p[i].x-p[i-1].x)*m); sort(p+1,p+tot+1,cmpp); for(int i=1;i<tot;i++) { int U=0,D=n; for(int j=i+1;j<=tot;j++) { if(p[i].y==p[j].y) continue; ans=max(ans,(p[j].y-p[i].y)*(D-U)); if(p[j].x>=D||p[j].x<=U) continue; if(p[j].x<=p[i].x) U=p[j].x; if(p[j].x>=p[i].x) D=p[j].x; if(p[j].x==p[i].x) break; } } sort(p+1,p+tot+1,cmppp); for(int i=1;i<tot;i++) { int U=0,D=n; for(int j=i+1;j<=tot;j++) { if(p[i].y==p[j].y) continue; ans=max(ans,(p[i].y-p[j].y)*(D-U)); if(p[j].x>=D||p[j].x<=U) continue; if(p[j].x<p[i].x) U=p[j].x; if(p[j].x>p[i].x) D=p[j].x; if(p[j].x==p[i].x) break; } } printf("%d\n",ans); return 0;}
阅读全文
0 0
- 【WC2002】奶牛浴场
- 【Wc2002】奶牛浴场
- 【WC2002】奶牛浴场
- 洛谷 [P1578] WC2002 奶牛浴场
- [悬线法] COGS 1722 [WC2002]奶牛浴场
- [WC'2002]奶牛浴场
- P1055 奶牛浴场 - Vijos
- vijos p1055奶牛浴场
- Vijos P1055 奶牛浴场
- vijos 1055 奶牛浴场
- vijos 奶牛浴场
- vijos p1005 奶牛浴场[ 极大化思想]
- oldssoj1107奶牛浴场(最大子矩阵)
- [Vijos1055]奶牛浴场(极大子矩形)
- P1578 奶牛浴场(极大化思想)
- 奶牛浴场---悬线法之算法1
- Vijos[1055]奶牛浴场 极大化思想
- vijos 1055 奶牛浴场(最大子矩阵DP)
- 学习日记19
- jQuery
- HTML之表单的使用
- cocos2dx工程的插件
- SSM_OA.Spring,xml文件配置
- 【WC2002】奶牛浴场
- 位查询
- CentOS7--iptables的配置
- 使用selenium 登录QQ空间
- 2016 matlab 中文版软件和安装教程
- Vue自定义图片懒加载指令v-lazyload详解
- SSM_OA_MYbatis配置
- 从github上下载没有用SSH KEY(为什么?)
- 不要62 HDU