很好的一道题

王知昆爷爷的论文(讲的特别清楚) 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. PostgreSQL自学笔记:1 初识 PostgreSQL

    博主教材:李小威.清华大学出版社.<PostgreSQL 9.6 从零开始学> 博主操作系统系统:Windows10 博主PostgreSQL版本:PostgreSQL 9.6 和 Pos ...

  2. Node.js c++ 扩展之HelloWorld

    测试环境 vs:vs2017 node.js:9.9.6 相关地址 官方文档对应地址:https://www.nodejs.org/api/addons.html 官方案例对应地址:https://w ...

  3. 【安全性测试】Android测试中的一点小发现

    在执行某个项目中的APP测试发现的两个问题,自然也是提供参考,作为经验记录下来. 一.通过apk的xml文件获取到某项目APP的账号和密码 使用eclipsel或者drozer,获得apk的xml文件 ...

  4. three.js 使用OrbitControls.js自由视角观察

    首先,引入js文件: <script type="text/javascript" src="./path/to/OrbitControls.js"> ...

  5. 增值税发票 成都金锐发票IC卡读入

    黑盘-操作  打开发票领购---网络发票分发----点击查询--分发. 白盘操作:

  6. MacBook Air 装win10系统 by DODUI

    为了给齐哥更完美的体验Windows10系统,DODUI亲手操刀MacBook双系统安装Win10,双系统安装教程如下: 终于遇到各种奇葩问题,给小伙伴分享一下. 双系统安装Win10准备工具: 1. ...

  7. day 24 二十四、组合、继承、方法重写和重用、super()

    一.组合 1.定义:自定义类的对象作为类的属性 A类的对象具备某一个属性,该属性的值是B类的对象 基于这种方式就把A类与B类组合到一起 对象既能使用A类中的数据与功能,也能使用B类中的数据与功能 2. ...

  8. Android手机camera和IMU的标定

    https://qingsimon.github.io/post/2018-12-28-android%E6%89%8B%E6%9C%BA%E7%9B%B8camera%E5%92%8Cimu%E7% ...

  9. 深入理解iostat

    前言 iostat算是比较重要的查看块设备运行状态的工具,相信大多数使用Linux的同学都用过这个工具,或者听说过这个工具.但是对于这个工具,引起的误解也是最多的,大多数人对这个工具处于朦朦胧胧的状态 ...

  10. 1. Scala概述

    1.1 概述 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala Scala是Scalable Language的简写,是一门多范式的编程语言 1.2 Scala ...