求一个n*m阶矩阵中为1的矩阵最大面积
来源:互联网 发布:淘宝订单不能评价 编辑:程序博客网 时间:2024/05/01 13:09
题目:求一个n*m阶矩阵中为1的矩阵最大面积
:例如输入: 0 0 0 0 那么输出就为 6
1 0 1 1
1 0 1 1
1 0 1 1
#include<iostream>
#include<stack>
#include<cstdio>
using namespace std;
const int N = int(2e3) + 9;
int a[N][N];
int h[N];
int n,m;
int main(){
while(cin>>n>>m){
for (int k=1;k<=n;++k){
for (int j=1;j<=n;++j){
cin>>a[k][j];
}
}
int ans = 0;
memset(h, 0, sizeof(h));
for (int i=1;i<=n;++i){
for (int j=1;j<=n;j++){
h[j] = a[i][j] == 0 ? 0 : h[j] + 1;
}
stack<int> s;s.push(0);h[++m]=0;
for ( j =1;j<=m;++j){
while(h[j]<h[s.top()]){
int a = h[s.top()];s.pop();
int b = j - s.top() -1;
if(a * b > ans){
ans = a *b;
}
}
s.push(j);
}
--m;
}
cout<<ans<<endl;
return 0;
}
}
0 0
- 求一个n*m阶矩阵中为1的矩阵最大面积
- 求m*n矩阵中最大的子矩阵(元素和最大)
- 求一个M*N的矩阵的最大子矩阵和。
- 华为机考 给你一个N*M的矩阵,每个位置的值是0或1,求一个面积最大的子矩阵,这个矩阵必须是一个正方形,且里面只能由1构成,输出最大的正方形边长。其中n,m<=400;
- 求一个矩阵中最大的二元矩阵
- 求一个矩阵的最大子矩阵
- 求n*n阶矩阵最大子矩阵阶数
- Codeforce 375B 给定5000的布尔矩阵 求最大面积的全1子矩阵
- matlab中padarray函数用法:实现对一个n*n矩阵扩充为(n+1)*(n+1)的矩阵
- 一个M*N的矩阵,元素取值1或0,问如何找到最大的正方形,其所有的元素都为1
- 一个M*N的矩阵,元素取值1或0,问如何找到最大的正方形,其所有的元素都为1
- M*N的矩阵
- 【每日面试题】求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维子矩阵(元素和最大)
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 求一个矩阵中最大的二维矩阵(元素和最大)
- [SSH] java.sql.BatchUpdateException: Cannot delete or update a parent row:
- 微信小程序之最简单的Demo设计使用
- js限制上传图片的格式和尺寸
- JAVAIO流
- oracle使用sqlLoad实现超大数据量导入
- 求一个n*m阶矩阵中为1的矩阵最大面积
- 简单介绍C语言中的回调函数
- 架设tomcat服务器遇到的问题
- JS组件系列——两种bootstrap multiselect组件大比拼
- eclipse安装插件提示 is not a valid repository location
- 【数据结构】树状数组模板--CODE[VS] 1080线段树练习and1081线段树练习2
- centos7 yum 方式安装nginx
- 读取xml文件
- myeclipse插件—SVN分支与合并详解【图】