Maximal submatrix
杭电多校
Problem Description
Given a matrix of n rows and m columns,find the largest area submatrix which is non decreasing on each column
Input
The first line contains an integer T(1≤T≤10)representing the number of test cases.
For each test case, the first line contains two integers n,m(1≤n,m≤2∗103)representing the size of the matrix
the next n line followed. the i-th line contains m integers vij(1≤vij≤5∗103)representing the value of matrix
It is guaranteed that there are no more than 2 testcases with n∗m>10000
Output
For each test case, print a integer representing the Maximal submatrix
Sample Input
1
2 3
1 2 4
2 3 3
Sample Output
4
这里的非递减序列,是将这一列拿出来组成一个数组A,满足
A[i]>=A[i+1];
#include<bits/stdc++.h>
using namespace std;
const int N=5e3;
int a[N][N],b[N][N];
int h[N];
int que[N];
void solve()
{int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf("%d",&a[i][j]);b[i][j]=0;if(i>1){b[i][j]=(a[i][j]>=a[i-1][j]);}}}for(int i=1;i<=m;i++){h[i]=0;}int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(b[i][j]==0){h[j]=1;}else{h[j]++;}}int tot=0;h[m+1]=0;for(int j=1;j<=m+1;j++){while(tot&&h[que[tot]]>h[j]){ans=max(ans,(j-que[tot-1]-1)*h[que[tot]]);tot--;}que[++tot]=j;}}printf("%d\n",ans);
}
int main()
{int T;scanf("%d",&T);while(T--){solve();}
}
Maximal submatrix相关推荐
- H - Maximal submatrix HDU - 6957
H - Maximal submatrix HDU - 6957 题意: 给定一个n行m列的矩阵,求每列上面积不减的最大子矩阵 对于每个测试用例,打印一个表示最大子矩阵的整数 题解: 要求求一个最大面 ...
- 【HDOJ6957】Maximal submatrix(单调栈,最大子矩阵面积)
1008 Maximal submatrix 题意: 给出一个n*m的矩阵,求一个面积最大的子矩阵满足子矩阵的每一列都是单调不递减的 思路: 转化为01矩阵 每个位置1代表该位是否比上面一位小,然后用 ...
- Maximal submatrix(直方图最大矩阵)
Maximal submatrix 原题链接 先预处理出每个点的高度,对于每一行而言就是一个直方图.然后利用单调栈对于每一行求出面积最大的矩阵,其实就和最大面积全 111 矩阵问题是一样的.原理都是, ...
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(1)签到题15869
2021"MINIEYE杯"中国大学生算法设计超级联赛(1) Start Time : 2021-07-20 12:10:00 End Time : 2021-07-20 17:1 ...
- 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)个人解题报告
文章目录 HDU6950 Mod, Or and Everything HDU6954 Minimum spanning tree HDU6958 KD-Graph HDU6957 Maximal s ...
- 2021杭电多校补题——第一场
2021杭电多校补题--第一场 文章目录 Mod, Or and Everything Rocket land(待补) Puzzle loop(待补) Another thief in a Shop( ...
- 算法学习笔记(2) 悬线法
本文属于「算法学习」系列文章之一.之前的[数据结构和算法设计]系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录对大学课程范围之外的高级算法学习.优化与使用的过程,同时也 ...
- 经典算法题之Maximal Square
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:叶 虎 Maximal Square是道非常有意思的算 ...
- Jabba: hybrid error correction for long sequencing reads using maximal exact matches机译:Jabba:使用最大精
Jabba: hybrid error correction for long sequencing reads using maximal exact matches 机译:Jabba:使用最大精确 ...
最新文章
- Centos下部署Solr 搜索引擎
- 【Java并发编程】面试必备之线程池
- 百度地图API(二)
- 2.修改/etc/hosts文件 /安装SSH、配置SSH无密码登陆(全程切换到hadoop用户下操作)
- rabbitmq连接java快速入门
- CSS中的三种样式来源:创作人员、读者和用户代理
- php补充 扩展,PHP安装扩展补充说明
- python修复不了_如何修复Python代码?
- quatus_sh tcl获取帮助
- springboot GeoLite2-City.mmdb实现通过IP地址获取经纬度以及该IP的所属地区
- 中国省,市,区 json数据
- 第三方支付竞争走向下半场 汇付天下构建多方共赢新生态
- 有赞 CTO 崔玉松:我想打造出中国最好的技术团队
- 【软件工程】软工视频总结
- Effective Scala
- 对话中国人寿:DevOps实践经验分享
- STM32蜂鸣器andMIDI音乐
- 替代台湾安格AG6200 AG6201 HDMI转VGA带音频方案+设计电路|CS5213可替代AG6200 AG6201
- YouTube大转型:视频红人靠粉丝会员创收 不再依赖广告
- C# DES加密解密算法
热门文章
- 将.pyc反编译成.py
- 三大 Windows 文件搜索神器 Everything、Listary、AnyTXT Searcher 功能特色与区别详解
- 控制IE浏览器升级降级
- 预见2020下半场——从自动驾驶新趋势看普及前景
- CALIPSO Quality Statements Lidar Level 2 Cloud and Aerosol Layer Products
- [扫盲教程]——Mac 新手最容易犯的几项错误
- 28:全局变量的使用
- 【培训实验记录】锐捷SDN交换机和控制器部署
- 植物大战 C++ ——基础特性
- 华为防火墙做单臂路由_华为单臂路由配置实例