1497专题

JD 1497:面积最大的全1子矩阵

OJ题目:click here~~ 题目分析:经典题目。。 const int maxn = 1008 ;int n , m ;int x[maxn][maxn] ;int h[maxn] , Left[maxn] , Right[maxn] ;void check(int &a , int b){if(b > a) a = b ;}void all_1_matrix()

九度OJ 1497:面积最大的全1子矩阵(DP)

题目1497:面积最大的全1子矩阵 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:850 解决:178 题目描述: 在一个M * N的矩阵中,所有的元素只有0和1,从这个矩阵中找出一个面积最大的全1子矩阵,所谓最大是指元素1的个数最多。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入的第一行是两个整数m、n(1<=m、n<=1000

ACM整理(四)——1497面积最大的全1子阵

编程思想: 本质为计算直方图中最小长方形面积 设立三个数组,h,l,r 数组h[i]代表从当前行向上的直方图的第i列有多少个1,有0间隔即不算 数组l[i]代表大于等于h[i]个1的列最小标号为多少 数组r[i]代表大于等于h[i]个1的列最大标号为多少 算完这三个数组之后,循环j次~用公式h[i]*(r[i]-l[i]+1)计算以该行为底的最大矩形 上边的步骤循环