摘要: 类型:单调栈 传送门:>Here< 题意:给出一个$01$矩阵,求$01$相间的最大子正方形和最大子矩阵 解题思路 首先考虑如果要求的不是$01$相间而是全$1$的怎么做?那就和上一题一样了,预处理$p[i][j]$。特判正方形(取较短边) 那么只需要把问题转化为全$1$矩阵即可。思考黑白相间矩阵的 阅读全文
posted @ 2018-08-18 16:12 行而上 阅读(355) 评论(0) 推荐(0)
摘要: 类型:单调栈 传送门:>Here< 题意:求一个$01$矩阵中最大子矩形(全是$1$)的面积 解题思路 单调栈的一个经典应用 考虑维护一个数组$p[i][j]$表示$(i,j)$往上最多有多少个连续的$1$。于是问题就转化为上一题的问题了,$p$即为高度,往左右扩散,利用单调栈求即可。总复杂度$O( 阅读全文
posted @ 2018-08-18 15:30 行而上 阅读(260) 评论(0) 推荐(1)
摘要: 类型:单调栈 传送门:>Here< 题意:给出若干宽度相同的矩形的高度(条形统计图),求最大子矩形面积 解题思路 单调栈的经典题 显然,最终的子矩形高度一定和某一个矩形相等(反证)。因此一个暴力的做法就是枚举每一个矩形,然后往两边扩散。在它左侧找到第一个高度比它小的,右侧也一样。则可以求出最大可扩散 阅读全文
posted @ 2018-08-18 14:16 行而上 阅读(426) 评论(0) 推荐(2)