zoukankan      html  css  js  c++  java
  • [BZOJ] 3039: 玉蟾宫

    预处理每个点向左向右向上延伸的最长距离即可

    实现上注意矩形的约束条件,也就是取min的过程

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    const int MAXN = 1005;
    
    int n,m;
    int a[MAXN][MAXN];
    int h[MAXN][MAXN],l[MAXN][MAXN],r[MAXN][MAXN];
    int main(){
      cin>>n>>m;
      char c;
      for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
          cin>>c;
          if(c=='F')a[i][j]=1;
        }
      }
      for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
          if(!a[i][j])continue;
          h[i][j]=1;l[i][j]=1;
          if(a[i-1][j])h[i][j]+=h[i-1][j];
          if(a[i][j-1])l[i][j]+=l[i][j-1];
        }
        for(int j=m;j>=1;j--){
          if(!a[i][j])continue;
          r[i][j]=1;
          if(a[i][j+1])r[i][j]+=r[i][j+1];
        }
      }
      for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
          if(h[i][j]<=1)continue;
          l[i][j]=min(l[i][j],l[i-1][j]);
          r[i][j]=min(r[i][j],r[i-1][j]);
        }
      }
      int ans=0;
      for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
          ans=max(ans,h[i][j]*(r[i][j]+l[i][j]-1));
        }
      }
      cout<<3*ans;
      return 0;
    }
    
    
    未经许可,禁止搬运。
  • 相关阅读:
    koller——PGM 基础
    java 类 多态
    java 基础知识
    相关性检验和独立性检验
    IDEA远程连接Hadoop
    sklearn pipeline
    java static
    sklearn learn preprocessing
    数据预处理 简介
    RATE-MAX alpha冲刺第八天
  • 原文地址:https://www.cnblogs.com/ghostcai/p/9771055.html
Copyright © 2011-2022 走看看