所有1的最大子矩阵
时限: 5000MS 内存限制: 131072K
案件期限: 2000MS
描述
给定一个m × n(0,1)矩阵,所有1的所有子矩阵中哪个最大?通过最大的,我们是指子矩阵拥有最多的元素。
输入项
输入包含多个测试用例。每个测试用例始于米和Ñ(1≤ 米,Ñ上线≤2000)。然后,按行优先顺序在每行具有n个数字的m行上出现(0,1)-矩阵的元素。达到EOF后,输入结束。
输出量
对于每个测试用例,输出一行,其中包含所有1的最大子矩阵的元素数量。如果给定的矩阵全为0,则输出0。
样本输入
2 2
0 0
0 0
4 4
0 0 0 0
0 1 1 0
0 1 1 0
0 0 0 0
样本输出
0
4
分析:
这道题实际上是这里的升级版
由一维变成了二维
先按列求高度 再赋值到数组里
然后双重循环枚举行列 做单调栈 记录能到达的最左和最右端点
最后求面积时与当前高度相乘更新ans……
CODE:
#include<algorithm>
#include<iostream>
#