杭电多校
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相关推荐

  1. H - Maximal submatrix HDU - 6957

    H - Maximal submatrix HDU - 6957 题意: 给定一个n行m列的矩阵,求每列上面积不减的最大子矩阵 对于每个测试用例,打印一个表示最大子矩阵的整数 题解: 要求求一个最大面 ...

  2. 【HDOJ6957】Maximal submatrix(单调栈,最大子矩阵面积)

    1008 Maximal submatrix 题意: 给出一个n*m的矩阵,求一个面积最大的子矩阵满足子矩阵的每一列都是单调不递减的 思路: 转化为01矩阵 每个位置1代表该位是否比上面一位小,然后用 ...

  3. Maximal submatrix(直方图最大矩阵)

    Maximal submatrix 原题链接 先预处理出每个点的高度,对于每一行而言就是一个直方图.然后利用单调栈对于每一行求出面积最大的矩阵,其实就和最大面积全 111 矩阵问题是一样的.原理都是, ...

  4. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(1)签到题15869

    2021"MINIEYE杯"中国大学生算法设计超级联赛(1) Start Time : 2021-07-20 12:10:00 End Time : 2021-07-20 17:1 ...

  5. 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)个人解题报告

    文章目录 HDU6950 Mod, Or and Everything HDU6954 Minimum spanning tree HDU6958 KD-Graph HDU6957 Maximal s ...

  6. 2021杭电多校补题——第一场

    2021杭电多校补题--第一场 文章目录 Mod, Or and Everything Rocket land(待补) Puzzle loop(待补) Another thief in a Shop( ...

  7. 算法学习笔记(2) 悬线法

    本文属于「算法学习」系列文章之一.之前的[数据结构和算法设计]系列着重于基础的数据结构和算法设计课程的学习,与之不同的是,这一系列主要用来记录对大学课程范围之外的高级算法学习.优化与使用的过程,同时也 ...

  8. 经典算法题之Maximal Square

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:叶    虎 Maximal Square是道非常有意思的算 ...

  9. 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:使用最大精确 ...

最新文章

  1. Centos下部署Solr 搜索引擎
  2. 【Java并发编程】面试必备之线程池
  3. 百度地图API(二)
  4. 2.修改/etc/hosts文件 /安装SSH、配置SSH无密码登陆(全程切换到hadoop用户下操作)
  5. rabbitmq连接java快速入门
  6. CSS中的三种样式来源:创作人员、读者和用户代理
  7. php补充 扩展,PHP安装扩展补充说明
  8. python修复不了_如何修复Python代码?
  9. quatus_sh tcl获取帮助
  10. springboot GeoLite2-City.mmdb实现通过IP地址获取经纬度以及该IP的所属地区
  11. 中国省,市,区 json数据
  12. 第三方支付竞争走向下半场 汇付天下构建多方共赢新生态
  13. 有赞 CTO 崔玉松:我想打造出中国最好的技术团队
  14. 【软件工程】软工视频总结
  15. Effective Scala
  16. 对话中国人寿:DevOps实践经验分享
  17. STM32蜂鸣器andMIDI音乐
  18. 替代台湾安格AG6200 AG6201 HDMI转VGA带音频方案+设计电路|CS5213可替代AG6200 AG6201
  19. YouTube大转型:视频红人靠粉丝会员创收 不再依赖广告
  20. C# DES加密解密算法

热门文章

  1. 将.pyc反编译成.py
  2. 三大 Windows 文件搜索神器 Everything、Listary、AnyTXT Searcher 功能特色与区别详解
  3. 控制IE浏览器升级降级
  4. 预见2020下半场——从自动驾驶新趋势看普及前景
  5. CALIPSO Quality Statements Lidar Level 2 Cloud and Aerosol Layer Products
  6. [扫盲教程]——Mac 新手最容易犯的几项错误
  7. 28:全局变量的使用
  8. 【培训实验记录】锐捷SDN交换机和控制器部署
  9. 植物大战 C++ ——基础特性
  10. 华为防火墙做单臂路由_华为单臂路由配置实例