很好的一道题

王知昆爷爷的论文(讲的特别清楚) https://wenku.baidu.com/view/bc8311f69e314332396893f7.html

先贴上AC代码

 #include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
template<class T>void read(T &x){
int f=;x=;char ch=getchar();
while(ch<''||ch>'') {f|=(ch=='-');ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+(ch^);ch=getchar();}
x=f?-x:x;
} const int N=;
int ans,yx,yn,n,l,w,lst;
bool qwq[];
struct yhhh{
int x,y;
}a[N]; inline bool cmp(yhhh A,yhhh B){
return A.x<B.x;
} int main(){
read(l),read(w),read(n);
for(int i=;i<=n;++i)
read(a[i].x),read(a[i].y),qwq[a[i].y]=;
for(int i=;i<=w;++i)
if(qwq[i]){
ans=max(ans,w*(i-lst));
lst=i;
}
ans=max(ans,w*(w-lst));
a[++n].x=,a[n].y=;
a[++n].x=l,a[n].y=;
a[++n].x=,a[n].y=w;
a[++n].x=l,a[n].y=w;
sort(a+,a+n+,cmp);
for(int i=;i<=n;++i){
yn=,yx=w;
for(int j=i+;j<=n;++j){
if(yx<=yn) break;
if(a[j].y>yx||a[j].y<yn) continue;
ans=max(ans,(a[j].x-a[i].x)*(yx-yn));
if(a[j].y>=a[i].y) yx=min(yx,a[j].y);
if(a[j].y<=a[i].y) yn=max(yn,a[j].y);
}
ans=max(ans,(yx-yn)*(l-a[i].x));
}
for(int i=n;i>=;--i){
yn=,yx=w;
for(int j=i-;j>=;--j){
if(yx<=yn) break;
if(a[j].y>yx||a[j].y<yn) continue;
ans=max(ans,(a[i].x-a[j].x)*(yx-yn));
if(a[j].y>=a[i].y) yx=min(yx,a[j].y);
if(a[j].y<=a[i].y) yn=max(yn,a[j].y);
}
}
printf("%d\n",ans);
return ;
}

case1:93ps

数据:

IN      6 4 4 1 2 4 1 4 3 2 1

OUT 10

没有考虑如下边界情况

ans=max(ans,(a[j].x-a[i].x)*(yx-yn));

case2:84ps

没有考虑如下情况

case3:56ps

没有考虑上下边界

另:几组hack数据

IN
6 4
4
1 2
4 1
4 3
2 1 OUT
10 IN
10 10
3
3 0
8 2
3 9 OUT
72 IN
4 7
5
0 6
0 0
3 2
1 0
0 3 OUT
21 IN
10 10
2
8 1
3 9 OUT
80

luogu P1578 奶牛浴场的更多相关文章

  1. P1578 奶牛浴场

    P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必 ...

  2. 洛谷P1578 奶牛浴场

    P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必 ...

  3. 【Luogu】P1578奶牛浴场(DP,枚举)

    题目链接 枚举极大子矩形.详情请见本题题解:I_AM_HelloWord 代码如下 #include<cstdio> #include<cctype> #include< ...

  4. [WC2002][洛谷P1578]奶牛浴场

    洛谷题解里那个人可真是话多呢. 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每 ...

  5. 洛谷 P1578 奶牛浴场

    https://www.luogu.org/problemnew/show/P1578 题解 另外这题有一些小坑,洛谷的题解里面有讲 #pragma GCC optimize("Ofast& ...

  6. 洛谷 P1578 奶牛浴场 —— 最大子矩形

    题目:https://www.luogu.org/problemnew/show/P1578 枚举左边界,向右枚举右边界,同时不断限制上下边界,最后右边界是整个图的边界: 由于没有做左边界是整个图的边 ...

  7. P1578 奶牛浴场 有障碍点的最大子矩形

    这题咕咕了很久终于写了\(QwQ\) 思路:扫? 提交:2次 错因:数据差评,第一次把矩形的长宽搞反了竟然只有一个点没有\(A\). 题解: 显然能成为答案的矩形的边界一定有障碍点或者与大矩形边界重合 ...

  8. 洛谷 P1578 奶牛浴场 题解

    题面 1.定义有效子矩形为内部不包含任何障碍点且边界与坐标轴平行的子矩形.如图所示,第一个是有效子矩形(尽管边界上有障碍点),第二个不是有效子矩形(因为内部含有障碍点). 2.极大有效子矩形:一个有效 ...

  9. luogu P2345 奶牛集会

    二次联通门 : luogu P2345 奶牛集会 /* luogu P2345 奶牛集会 权值线段树 以坐标为下标, 坐标为值建立线段树 对奶牛按听力由小到大排序 对于要查的牛 每次第i次放入奶牛起作 ...

随机推荐

  1. Django跨域、cookie、session

    前后台分离开发 1.前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与跳转 2.后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) 跨域 什么是跨域? 通常情况下,A网页访问 ...

  2. [POJ2965]The Pilots Brothers' refrigerator (搜索/位运算)

    题意 游戏“The Pilots Brothers:跟随有条纹的大象”有一个玩家需要打开冰箱的任务. 冰箱门上有16个把手.每个手柄可以处于以下两种状态之一:打开或关闭.只有当所有把手都打开时,冰箱才 ...

  3. __x__(46)0910第六天__框架集

     框架集frameset 和 内联框架iframe 的作用类似: 在一个页面中,引入其他的外部html页面. 框架集可以同时引入多个页面. 在 html5 中,推荐使用框架集,而不推荐使用iframe ...

  4. (90)Wangdao.com第二十三天_JavaScript CSS 操作

    CSS 操作 通过 JavaScript 操作 CSS HTML 元素的 style 属性 <div style="background-color:red; border:1px s ...

  5. 3.2station

    题意火车进入,然后要求以最大字典序输出 解题思路:先用一个数组储存当前位置之后最大的数字是什么,然后把已经进站的最后一节火车和还没进站的车的最大值,哪个更大,如果已经进站的更大,那么就先出站,否则就先 ...

  6. Python自学知识点----Day01

    Linux 次方运算符** 操作系统:1).直接操纵硬件 2).将操纵硬件封装成系统调用,利用应用程序进行调用 操作系统:windows  用户群体大 macos      适用开发人员 Linux  ...

  7. python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

    进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 ...

  8. go 并发编程(2)

    协程 执行体是个抽象的概念,在操作系统层面有很多个概念与之对应,如操作系统自己掌管的进程(process),进程内的线程(thread),以及进程内的协程(coroutine,也叫轻量级线程).与传统 ...

  9. weakhashmap简单理解

    map中的key(注意String,和元数据作key有特殊性),gc后会被立马干掉, key被干掉后,其对应的entry将被存入queue中 /** * Reference queue for cle ...

  10. EE4218 / EE4216 Faculty of Science and Engineering

    Faculty of Science and EngineeringDepartment of Electronic and ComputerEngineeringEnd of Semester As ...