HDU 2870 Largest Submatrix
这三道题的关系是这样的,1505是1506的加强版,2870又是1505的加强版
如果按照上面由简到易的顺序来做的话,还是很简单的
这道题的思想就是 枚举+DP
因为某些字符可以变值,所以我们枚举a, b, c三个矩阵
分别求出对应的h数组以及最大子矩阵,再在里面求出一个最大值即可。
1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 8 const int maxn = 1010; 9 char map[maxn][maxn]; 10 int h[3][maxn], l[3][maxn], r[3][maxn]; 11 12 int main(void) 13 { 14 #ifdef LOCAL 15 freopen("2870in.txt", "r", stdin); 16 #endif 17 18 int row, col; 19 while(scanf("%d%d", &row, &col) == 2) 20 { 21 int i, j, k, t; 22 for(i = 0; i < row; ++i) 23 scanf("%s", map[i]); 24 memset(h, 0, sizeof(h)); 25 int ans = 0; 26 for(i = 0; i < row; ++i) 27 { 28 for(j = 0; j < col; ++j) 29 { 30 switch(map[i][j]) 31 { //处理h数组 32 case 'a': 33 ++h[0][j], h[1][j] = h[2][j] = 0; 34 break; 35 case 'b': 36 ++h[1][j], h[0][j] = h[2][j] = 0; 37 break; 38 case 'c': 39 ++h[2][j], h[0][j] = h[1][j] = 0; 40 break; 41 case 'w': 42 ++h[0][j], ++h[1][j], h[2][j] = 0; 43 break; 44 case 'x': 45 ++h[1][j], ++h[2][j], h[0][j] = 0; 46 break; 47 case 'y': 48 ++h[0][j], ++h[2][j], h[1][j] = 0; 49 break; 50 case 'z': 51 ++h[0][j]; ++h[1][j], ++h[2][j]; 52 } 53 } 54 l[0][0] = l[1][0] = l[2][0] = 0; 55 r[0][col-1] = r[1][col-1] = r[2][col-1] = col-1; 56 for(j = 1; j < col; ++j) 57 for(k = 0; k < 3; ++k) 58 { 59 t = j; 60 while(t > 0 && h[k][j] <= h[k][t-1]) 61 t = l[k][t-1]; 62 l[k][j] = t; 63 } 64 65 for(j = col-2; j >= 0; --j) 66 for(k = 0; k < 3; ++k) 67 { 68 t = j; 69 while(t < col-1 && h[k][j] <= h[k][t+1]) 70 t = r[k][t+1]; 71 r[k][j] = t; 72 } 73 74 for(j = 0; j < col; ++j) 75 for(k = 0; k < 3; ++k) 76 ans = max(ans, (r[k][j]-l[k][j]+1)*h[k][j]); 77 } 78 printf("%d\n", ans); 79 } 80 return 0; 81 }
代码君
转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/3876819.html
HDU 2870 Largest Submatrix相关推荐
- 笛卡尔树详解带建树模板及例题运用(Largest Submatrix of All 1’s,洗车 Myjnie,Removing Blocks,SPOJ PERIODNI)
文章目录 笛卡尔树 介绍 例题 Largest Submatrix of All 1's 应用 「POI2015」洗车 Myjnie [AGC028B] Removing Blocks SPOJ PE ...
- 【POJ - 3494】Largest Submatrix of All 1’s(加一点思维后化成 单调栈)
题干: Given a m-by-n (0,1)-matrix, of all its submatrices of all 1's which is the largest? By largest ...
- hdu 1506 Largest Rectangle in a Histogram 最大矩形
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1506 Largest Rectangle in a Histogram Time Limit: 20 ...
- HDU 1506 Largest Rectangle in a Histogram(dp、单调栈)
你是不是飘了?骚年! Problem Description A histogram is a polygon composed of a sequence of rectangles aligned ...
- HDU 1506 Largest Rectangle in a Histogram
这个问题姑且也叫做最大子矩阵吧 给一个树状图,求一个最大面积的子矩阵 思路是这样的,对于每个单位矩阵,求出左边连续不比它低的矩阵的下标,放在l数组里 同样,再求出右边连续的不比它低的矩阵的下标 这样, ...
- LeetCode 第 224 场周赛 5655. Largest Submatrix With Rearrangements【动态规划】⭐⭐⭐⭐⭐
文章目录 题目描述 知识点 我的实现 码前思考 代码实现 时空复杂度分析 码后反思 参考文档 题目描述 知识点 动态规划 我的实现 码前思考 这道题目的motivation跟LeetCode 85非常 ...
- HDU OJ 动态规划46题解析
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢 ...
- HDU中一些DP的题目分类
DP是难点,供自已以后系统学习. 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做 ...
- hdu 动态规划题集
原文链接:http://blog.sina.com.cn/s/blog_6cf509db0100sptt.html点击打开链接 1.Robberies 连接 :http://acm.hdu.edu.c ...
- hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)
HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包 ...
最新文章
- python下使用epoll
- WEB中会话跟踪[转]
- fcntl函数完成 set_fl()函数还有clr_fl()函数的封装
- spring boot原理_SpringBoot-02-原理初探之主启动类
- matlab m序列,m序列(M序列与m序列区别)
- brew 安装软件能指定文件夹吗_Mac下Homebrew安装的软件放在什么地方
- SMB协议端口号,Windows文件共享协议
- Pikachu实验重现2(Sql的注入)
- STM32——PS2遥控手柄
- 黎活明给程序员的忠告
- 群晖NAS跨存储空间移动套件(应用)
- ddos应急处理_来看看DDoS攻击应急预案
- 不叫 Andromeda?Google 新系统疑为 Fuchsia
- html给页面添加艺术型边框,如何为2016word的页面设置艺术型页面边框
- 道创峰会2020:伯克利学生分享会|快来线下碰一碰
- TL-R473P-AC【搭配面板式AP组网设置方法】
- 「 LaTex 」写论文,作者旁添加ORCID
- 使用VMD中的Tachyon渲染出透明逼真的水盒子效果
- CATIA鼠标操作简介
- 4210: 孙壕请一盘青岛大虾呗【递归/注意结束条件】
热门文章
- 第 3 章 sqlmap - automatic SQL injection and database takeover tool
- )C# Enum,Int,String的互相转换 枚举转换
- Kettle_设置全局变量
- 批量快速的导入导出Oracle的数据(spool缓冲池、java实现)
- MFC(6)点击按钮弹出新的对话框源码
- T-SQL笔记8:索引
- 通过tomcat插件启动Maven工程
- ES6、7学习笔记(尚硅谷)-4-模板字符串
- pylon保存图片_3.Pylon 以实时图像采集讲解PylonC SDK使用流程 | 学步园
- python中的引用怎么理解_浅谈动态类型领域中 Python 的变量、对象以及引用