zoukankan      html  css  js  c++  java
  • 洛谷4147

    悬线法左右推,推出面积最大

    这里有一篇好的博文有助理解 https://blog.csdn.net/twtsa/article/details/8120269

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #define maxn 1003
    using namespace std;
    int n,m,a[maxn][maxn],l[maxn][maxn],r[maxn][maxn],L[maxn][maxn],R[maxn][maxn],hi[maxn][maxn];
    
    int main(){
        int ans=0,t;
        scanf("%d%d",&n,&m);
        char ch;
        for(int i=1;i<=n;i++)
           for(int j=1;j<=m;j++){
                 cin>>ch;
                 if(ch=='F')a[i][j]=1;
           }
        for(int i=1;i<=n;i++){
            t=0;
            for(int j=1;j<=m;j++)
               if(a[i][j])l[i][j]=t;
               else t=j;
            t=m+1;
            for(int j=m;j>=1;j--)
               if(a[i][j])r[i][j]=t;
               else{R[i][j]=m+1;t=j;}
        }
        for(int i=1;i<=m;i++) R[0][i]=m+1;
        for(int i=1;i<=n;i++)
           for(int j=1;j<=m;j++)
              if(a[i][j]){
                  hi[i][j]=hi[i-1][j]+1;
                  L[i][j]=max(l[i][j]+1,L[i-1][j]);
                  R[i][j]=min(r[i][j]-1,R[i-1][j]);
                  ans=max(ans,(R[i][j]-L[i][j]+1)*hi[i][j]);
              }
              printf("%d",3*ans);
              return 0;
    }
  • 相关阅读:
    道砟说明
    方案设计图
    红外对摄报价
    荣昌县公安局监控设计方案
    安盈楼宇对讲系统
    高速公路方案一
    高速公路方案一
    无线智能报警暨家电控制
    百安居监控设计方案
    家庭防盗报警系统
  • 原文地址:https://www.cnblogs.com/MikuKnight/p/8871640.html
Copyright © 2011-2022 走看看