关键词:
Description
求一个不覆盖指定点的最大子矩阵,(n,m leqslant 3 imes 10^5,S leqslant 5 imes 10^3) .
Sol
没有名字的算法都叫xjblg算法?
枚举每个点成为极大子矩阵边界的情况,然后维护上下边界.
还有一种情况就是左右边界是矩阵两边的情况,需要预处理一下.
时间复杂度 (O(S^2)) 空间复杂度 (O(S))
Code
#include<cstdio> #include<utility> #include<algorithm> #include<functional> #include<iostream> using namespace std; #define mpr make_pair typedef pair< int,int > pr; typedef long long LL; const int N = 5005; int n,m,k;LL ans; pr g[N]; int x[N],y[N]; inline int in(int x=0,char ch=getchar()){ while(ch>‘9‘ || ch<‘0‘) ch=getchar(); while(ch>=‘0‘ && ch<=‘9‘) x=(x<<3)+(x<<1)+ch-‘0‘,ch=getchar();return x; } int main(){ n=in(),m=in(),k=in(); for(int i=1,u,v;i<=k;i++) u=in(),v=in(),g[i]=mpr(u,v),y[i]=v; g[++k]=mpr(0,0),y[k]=0,g[++k]=mpr(0,m),y[k]=m,g[++k]=mpr(n,0),y[k]=0,g[++k]=mpr(n,m),y[k]=m; sort(y+1,y+k+1); for(int l=1,r;l<=k;l=r+1){ r=l; while(r<k && y[l]==y[r+1]) ++r; ans=max(ans,(LL)m*(y[l]-y[l-1])); } sort(g+1,g+k+1,less<pr>()); for(int i=1;i<=k;i++){ int u=0,d=n; for(int j=i+1;j<=k;j++){ ans=max(ans,(LL)(g[j].first-g[i].first)*(d-u)); if(g[j].second>g[i].second) d=min(d,g[j].second); else if(g[j].second<g[i].second) u=max(u,g[j].second); else break; } } sort(g+1,g+k+1,greater<pr>()); for(int i=1;i<=k;i++){ int u=0,d=n; for(int j=i+1;j<=k;j++){ ans=max(ans,(LL)(g[i].first-g[j].first)*(d-u)); if(g[j].second>g[i].second) d=min(d,g[j].second); else if(g[j].second<g[i].second) u=max(u,g[j].second); else break; } }cout<<ans<<endl; return 0; }
p1578奶牛浴场
P1578奶牛浴场 题目描述由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位... 查看详情
洛谷p1578奶牛浴场
P1578奶牛浴场题目描述由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置产... 查看详情
p1578奶牛浴场(代码片段)
题目描述由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置产奶,而奶牛显... 查看详情
洛谷1578:[wc2002]奶牛浴场——题解(代码片段)
...gu.org/problemnew/show/P1578#sub由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置... 查看详情
[wc2002][洛谷p1578]奶牛浴场
...话多呢。 题目描述由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少。为了讨好奶牛,John决定在牛场中建造一个大型浴场。但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置产... 查看详情
[luogup1578]奶牛浴场(dp)
传送门 O(s2)算法详见论文 王知昆--浅谈用极大化思想解决最大子矩形问题我就复制你能把我怎么样QAQ#include<cstdio>#include<iostream>#include<algorithm>#defineN5010#definemax(x,y)((x)>(y)?(x):(y))#definemin(x,y)((x)& 查看详情
dp悬线法奶牛浴场(代码片段)
虽然还是悬线法,但是这道题可不能轻易地套模板了,而是要换一种思路,横着扫一遍,竖着扫一遍,时间复杂度依旧是O(n^2),然而空间复杂度有一定的优化如果用原来的方法,显然时间空间都会炸(如果你想用map我也没办法...... 查看详情
建图最短路同余(luogu2662vijos1054xjoi2157)
描述John计划为他的牛场建一个围栏,以限制奶牛们的活动。他有N种可以建造围栏的木料,长度分别是l1,l2…lN,每种长度的木料无限。修建时,他将把所有选中的木料拼接在一起,因此围栏的长度就是他使用的木料长度之和... 查看详情
[err]1055
本人mysql安装在ubuntu16.04上,mysql版本是5.7.19;在创建表和插入数据时报了[Err]1055-Expression#1ofORDERBYclauseisnotinGROUPBYclauseandcontainsnonaggregatedcolumn‘information_schema.PROFILING.SEQ‘whichisnotfunctionallydepende 查看详情
mysql-1055错误
今天遇到了1055错误,在本机上程序是可以用的,可是在服务器上就出错了,错误入下:[Err]1055-Expression#1ofORDERBYclauseisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'XXXXXX'whichisnotfunctionallydepend 查看详情
釜山行
1. 甘川文化村2.海云台海水浴场3.广安里海水浴场4.海东龙宫寺5. 梵鱼寺6.三光寺7.西面1号街8.荒岭山夜景 查看详情
发生数据库错误错误号:1055 [重复]
】发生数据库错误错误号:1055[重复]【英文标题】:ADatabaseErrorOccurredErrorNumber:1055[duplicate]【发布时间】:2018-02-2020:15:14【问题描述】:将数据库从MySQL更改为MySQLI并收到错误-发生数据库错误错误号:1055SELECT列表的表达式#23不在G... 查看详情
洛谷p1055isbn号码
参考技术A注意对X的处理 查看详情
与 CORBA 有啥区别 -port 1050 -ORBInitialPort 1055 选项?
】与CORBA有啥区别-port1050-ORBInitialPort1055选项?【英文标题】:WithCORBAwhatisthedifferencebetweenthe-port1050-ORBInitialPort1055options?与CORBA有什么区别-port1050-ORBInitialPort1055选项?【发布时间】:2014-05-0413:44:09【问题描述】:执行orbd时,似乎有... 查看详情
Laravel:语法错误或访问冲突:1055 错误
】Laravel:语法错误或访问冲突:1055错误【英文标题】:Laravel:Syntaxerrororaccessviolation:1055Error【发布时间】:2017-04-1611:27:52【问题描述】:我想在同一个查询中使用WhereIn和Groupby来获取Result。我试过了:$loadids=explode("#@*",$reciptdet->... 查看详情
1055.theworld'srichest(25)
Forbesmagazinepublisheseveryyearitslistofbillionairesbasedontheannualrankingoftheworld‘swealthiestpeople.Nowyouaresupposedtosimulatethisjob,butconcentrateonlyonthepeopleinacertainrangeofages.Thatis,gi 查看详情
1055最长等差数列
1055 最长等差数列基准时间限制:2 秒空间限制:262144 KB N个不同的正整数,找出由这些数组成的最长的等差数列。例如:13568910121314等差子数列包括(仅包括两项的不列举)13515913369123813591368101214 其中68101214最长... 查看详情
bzoj-1055玩具取名区间dp
1055:[HAOI2008]玩具取名TimeLimit: 10Sec MemoryLimit: 162MBSubmit: 1560 Solved: 907[Submit][Status][Discuss]Description 某人有一套玩具,并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为玩具 查看详情