随笔 - 531  文章 - 0  评论 - 3  阅读 - 10215 

 

复制代码
#include "bits/stdc++.h"
using namespace std;
 const int N=1e3+3;
 int n,m,a[N][N],s[N][N];
 int A;
 int w[N],h[N],pp;
 
 void sov(int x){
     int i,ans=0;
     pp=0; h[m+1]=w[m+1]=0;
     
     for(i=1;i<=m+1;i++){
         int t=0;
         while(pp>0&&s[x][i]<=h[pp]) 
         t+=w[pp],ans=max(ans,t*h[pp]),pp--;
         
         h[++pp]=s[x][i]; w[pp]=t+1;
     }
     A=max(A,ans);
 }
 main(){
     int i,j;
     char c;
     cin>>n>>m;
     for(i=1;i<=n;i++)
      for(j=1;j<=m;j++) 
      cin>>c,s[i][j]=a[i][j]=(c=='F'?1:0);
      
     for(i=1;i<=n;i++)
      for(j=1;j<=m;j++) if(a[i][j]==1)s[i][j]+=s[i-1][j];
     
     for(i=1;i<=n;i++)
      sov(i);
     cout<<A*3;
 }
复制代码

 

posted on   towboat  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示