极大化思想——洛谷 P1578 奶牛浴场
来源:互联网 发布:帝国cms网站源码 编辑:程序博客网 时间:2024/05/24 02:19
https://www.luogu.org/problem/show?pid=1578
论文
https://wenku.baidu.com/view/728cd5126edb6f1aff001fbb.html
论文里面唯一的错误就是第一个算法需要添加的点不仅仅是左下右上,4个顶角都要的;
为什么自己模拟就知道了;
#include<bits/stdc++.h>#define Ll long longusing namespace std;const int N=5e3+5;struct cs{int x,y;}d[N];int n,m,t,ans;bool cmp1(cs a,cs b){return a.y<b.y;}bool cmp2(cs a,cs b){return a.x<b.x;}bool cmp3(cs a,cs b){return a.y>b.y;}void work(){ for(int i=1;i<=t;i++){ int ma=n,mi=0; for(int j=i+1;j<=t;j++){ if(d[j].x>ma||d[j].x<mi)continue; ans=max(ans,abs(d[i].y-d[j].y)*(ma-mi)); if(d[j].x<d[i].x)mi=d[j].x;else ma=d[j].x; if(ma==mi)break; } }}int main(){ scanf("%d%d%d",&n,&m,&t); for(int i=1;i<=t;i++)scanf("%d%d",&d[i].x,&d[i].y); d[++t].x=0;d[t].y=0;d[++t].x=n;d[t].y=m; d[++t].x=0;d[t].y=m;d[++t].x=n;d[t].y=0; sort(d+1,d+t+1,cmp2); for(int i=2;i<=t;i++)ans=max(ans,m*(d[i].x-d[i-1].x)); sort(d+1,d+t+1,cmp1);work(); sort(d+1,d+t+1,cmp3);work(); printf("%d",ans);}
阅读全文
2 0
- 极大化思想——洛谷 P1578 奶牛浴场
- P1578 奶牛浴场(极大化思想)
- 洛谷 [P1578] WC2002 奶牛浴场
- vijos p1005 奶牛浴场[ 极大化思想]
- Vijos[1055]奶牛浴场 极大化思想
- [Vijos1055]奶牛浴场(极大子矩形)
- 动归————奶牛浴场
- [WC'2002]奶牛浴场
- P1055 奶牛浴场 - Vijos
- vijos p1055奶牛浴场
- Vijos P1055 奶牛浴场
- vijos 1055 奶牛浴场
- 【WC2002】奶牛浴场
- vijos 奶牛浴场
- 【Wc2002】奶牛浴场
- 【WC2002】奶牛浴场
- oldssoj1107奶牛浴场(最大子矩阵)
- [悬线法] COGS 1722 [WC2002]奶牛浴场
- 校外见习—思考题
- 关于使用C++11中委托构造函数
- select null与select 1区别
- Linux 系统中 Fatal Python error: Py_Initialize: Unable to get the locale encoding
- 斯坦福大学命名实体识别
- 极大化思想——洛谷 P1578 奶牛浴场
- 别不好意思拒绝别人,反正那些好意思为难你的人都不是什么好人
- Matlab中几个数值积分函数的比较和优缺点
- DataFrame 排序
- 欢迎使用CSDN-markdown编辑器
- php模拟登录
- 面向接口编程详解(三)——模式研究(转)
- 多线程之GCD
- 自学h5+ app遇见的问题记录