HDU 2870 DP 最大完全子矩阵
来源:互联网 发布:淘宝上买火车票靠谱吗 编辑:程序博客网 时间:2024/06/06 20:15
HDU 1505 升级版
枚举a,b,c 各做一遍最大完全子矩阵
#include "stdio.h"#include "string.h"char a[1010][1010];int n,m,ans;int sum[1010][1010];int max(int a,int b){ if (a<b) return b; else return a;}void solve(char key){ int i,j; int le[1010],ri[1010]; memset(sum,0,sizeof(sum)); for (i=0; i<n; i++) for (j=0; j<m; j++) { if (key=='a' && (a[i][j]=='w' || a[i][j]=='y' || a[i][j]=='z' || a[i][j]=='a')) sum[i][j]=sum[i][j-1]+1; if (key=='b' && (a[i][j]=='w' || a[i][j]=='x' || a[i][j]=='z' || a[i][j]=='b')) sum[i][j]=sum[i][j-1]+1; if (key=='c' && (a[i][j]=='x' || a[i][j]=='y' || a[i][j]=='z' || a[i][j]=='c')) sum[i][j]=sum[i][j-1]+1; } for (j=0; j<m; j++) { for (i=0; i<n; i++) le[i]=ri[i]=i; for (i=0; i<n; i++) while (sum[i][j]<=sum[le[i]-1][j] && le[i]>0) le[i]=le[le[i]-1]; for (i=n-1; i>=0; i--) while (sum[i][j]<=sum[ri[i]+1][j] && ri[i]<n-1) ri[i]=ri[ri[i]+1]; for (i=0; i<n; i++) ans=max(ans,(ri[i]-le[i]+1)*sum[i][j]); }}int main(){ int i; while (scanf("%d%d",&n,&m)!=EOF) { getchar(); for (i=0; i<n; i++) gets(a[i]); ans=0; solve('a'); solve('b'); solve('c'); printf("%d\n",ans); }}
0 0
- HDU 2870 DP 最大完全子矩阵
- HDU 1505 DP 最大完全子矩阵
- HDU 1506 DP 最大完全子矩阵
- #HDU 2870 dp最大子矩阵
- hdu 2870 最大子矩阵 单调队列优化+dp
- HDU 2870 Largest Submatrix DP求最大子矩阵
- HDU 2870 Largest Submatrix(dp最大子矩阵和)
- hdu 1559【最大子矩阵和DP】
- hdu 1559 最大子矩阵(DP)
- HDU 1559 最大子矩阵(DP)
- hdu 4328 最大子矩阵(DP)
- HDU 1559 最大子矩阵 (DP)
- HDU 1506 dp求最大子矩阵 *
- HDU-1559-最大子矩阵【DP】
- HDU 1559 最大子矩阵 (DP)
- #HDU 1506 dp求最大子矩阵
- #HDU 1505 dp 最大子矩阵
- 【最大子矩阵】hdu 2870
- ibatis与springmvc出现Check the result mapping for the 'xxx' property的错误
- CentOS下top命令介绍与使用
- [Python网络编程] DNS缓存解决方案
- Ubuntu 14.04 中安装 Pepper Flash Player For Chromium
- SHFileOperation函数使用的介绍
- HDU 2870 DP 最大完全子矩阵
- Windows程序设计第三章总结
- POJ 1753 Flip Game(bfs枚举+递推)
- MediaExtractor
- PHP断点续传
- IOS开发NSDateFormatter格式详细列表一览
- Python 抽象工厂方法
- cocos2d-x 截图的方法
- 测试多线程下载的java类