HRBUST 1786 最大停车场 (01矩阵找最大的矩形)
来源:互联网 发布:噩梦 知乎 编辑:程序博客网 时间:2024/06/06 04:25
题目:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1786
代码:
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char maps[1005][1005];int book[1005][1005];int solve(int wist[], int n){ //int hist[6]={3,2,2,0,0}; int* arr = new int[n];// 申请一个额外的数组 arr[0] = hist[0]; int max = hist[0]; // 最大面积 for(int i=1; i<n; i++) { arr[i] = hist[i]; for(int j=i-1; j>=0; j--) { if(arr[j]>arr[i]) { if(arr[j]*(i-j)>max) { max = arr[j]*(i-j); } arr[j] = arr[i]; } else break; //数组arr里的元素,保持非递减的顺序。 printf("%d ",arr[j]); } } /*for(int i=0;i<n;i++) { printf("%d ",arr[i]); } printf("%d ",max);*/ //重新扫描一边,以更新最大面积 for(int i=0; i<n; i++) { if(arr[i]*(n-i)>max) { max = arr[i]*(n-i); } } //printf("%d \n",max); return max;}int main(){ //freopen("B.in.txt","r",stdin); //freopen("B.out.txt","w",stdout); int t; scanf("%d",&t); while(t--) { memset(book,0,sizeof(book)); int n,m; scanf("%d%d",&n,&m); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { getchar(); scanf("%c",&maps[i][j]); } } for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(i==0) { if(maps[i][j]=='F') book[i][j]=1; } else { if(book[i-1][j]!=0&&maps[i][j]=='F') { book[i][j]=book[i-1][j]+1; } else if(book[i-1][j]==0&&maps[i][j]=='F') { book[i][j]=1; } } } } int ans=0; for(int i=0; i<n; i++) { ans=max(ans,solve(book[i],m)); } printf("%d\n",ans); }}
当个模板题吧。
0 0
- HRBUST 1786 最大停车场 (01矩阵找最大的矩形)
- 在01矩阵中找最大1矩形
- 柱状图中找最大矩形 & 矩阵中找最大的仅含相同值的矩形区域
- Arithmetic problem | 找二维矩阵权值为1的最大矩形面积
- 【最大矩阵和】最大加权矩形 rqnoj106
- 找出矩阵中的最大矩形
- Google面试题:在柱状图中找最大的矩形
- hrbust 1632 最大的最小公倍数
- DP hdu1505 找最大矩阵
- 最大的矩形
- 讨厌的最大矩形
- 最大的矩形
- 【ACM】最大的矩形
- CCF 最大的矩形
- CCF 最大的矩形
- 最大的矩形
- CSP最大的矩形
- 最大的矩形
- 解决Gridview列表view高度无法固定的方法
- Mysql 查看连接数,状态 最大并发数(赞)
- 电子电路之小信号电路中,为什么要经常串联1000P的电容
- asp.net缓存
- 【bzoj3809】Gty的二逼妹子序列
- HRBUST 1786 最大停车场 (01矩阵找最大的矩形)
- 2016百度之星 hdu 5698 递推+费马小
- Java 多线程同步的五种方法
- csu 1329 一行盒子(数组模拟链表)
- 病毒网址
- 添加本地消息提醒
- 应该知道的7种回归模型
- 函数重载、函数覆盖、函数隐藏之间的关系
- This version of the rendering library is more recent than your version of ADT plug-in. Please updat