单调栈
吴俊达9812
这个作者很懒,什么都没留下…
展开
-
poj 2559
题意:求最大的矩形 思路:枚举以每个矩形为左边界右侧最多延伸到哪里。不过会出现以某个矩形为左边界,但是高度小于这个矩形高度的情况,所以我们要 在入栈时进行矩形的合并操作。 #include <cstdio> #include <algorithm> using namespace std; typedef long long LL; const int maxn = ...原创 2019-10-21 21:37:57 · 123 阅读 · 0 评论 -
单调栈求所有全1矩形的个数
模板 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 3001; const int maxm = 3001; int a[maxn][maxm],h[maxn][maxm]; int st[maxn]; int cnt[maxn][maxn]; int ma...原创 2019-08-31 23:22:08 · 378 阅读 · 0 评论 -
Second Large Rectangle
注意这题与求 所有全一子矩阵的个数不同。 还有需要注意的是写单调栈时要注意单调栈最后剩余的元素的r值要记得更新。 #include <bits/stdc++.h> using namespace std; const int maxn = 2000; int a[maxn][maxn],st[maxn],h[maxn],l[maxn],r[maxn],mx2,mx; int ma...原创 2019-09-02 23:12:37 · 116 阅读 · 0 评论