zoukankan      html  css  js  c++  java
  • 悬线法 || BZOJ 1057: [ZJOI2007]棋盘制作 || Luogu P1169 [ZJOI2007]棋盘制作

    题面:P1169 [ZJOI2007]棋盘制作

    题解:

    基本是悬线法板子,只是建图判断时有一点点不同。

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #define min(a,b) ((a)<(b)?(a):(b))
     5 #define max(a,b) ((a)>(b)?(a):(b))
     6 using namespace std;
     7 inline int rd(){
     8     int x=0,f=1;char c=getchar();
     9     while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}
    10     while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}
    11     return f*x;
    12 }
    13 const int maxn=2050,maxm=maxn;
    14 int N,M,C[maxn][maxm],H[maxn][maxm],L[maxn][maxm],R[maxn][maxm],ans1=1,ans2=1,w;
    15 int main(){
    16     N=rd();M=rd();
    17     for(int i=1;i<=N;i++)
    18         for(int j=1;j<=M;j++)
    19             C[i][j]=rd();
    20     for(int i=1;i<=N;i++)
    21         for(int j=1;j<=M;j++){
    22             if(i==1||C[i][j]!=C[i-1][j])
    23                 H[i][j]=H[i-1][j]+1;
    24             else H[i][j]=1;//H
    25             if(j==1||C[i][j]!=C[i][j-1])
    26                 L[i][j]=L[i][j-1]+1;
    27             else L[i][j]=1;//L
    28             int r=M-j+1;
    29             if(j==1||C[i][r]!=C[i][r+1])
    30                 R[i][r]=R[i][r+1]+1;
    31             else R[i][r]=1;
    32         }
    33     for(int i=1;i<=N;i++)
    34         for(int j=1;j<=M;j++){
    35             if(H[i][j]>1){
    36                 L[i][j]=min(L[i][j],L[i-1][j]);
    37                 R[i][j]=min(R[i][j],R[i-1][j]);
    38             }
    39             w=L[i][j]+R[i][j]-1;
    40             ans1=max(ans1,min(w,H[i][j])*min(w,H[i][j]));
    41             ans2=max(ans2,w*H[i][j]);
    42         }
    43     printf("%d
    %d
    ",ans1,ans2);
    44     return 0;
    45 }

    By:AlenaNuna

  • 相关阅读:
    算法模板——线性欧拉函数
    2818: Gcd
    1688: [Usaco2005 Open]Disease Manangement 疾病管理
    3314: [Usaco2013 Nov]Crowded Cows
    3450: Tyvj1952 Easy
    1664: [Usaco2006 Open]County Fair Events 参加节日庆祝
    1054: [HAOI2008]移动玩具
    1432: [ZJOI2009]Function
    1121: [POI2008]激光发射器SZK
    1113: [Poi2008]海报PLA
  • 原文地址:https://www.cnblogs.com/AlenaNuna/p/10512988.html
Copyright © 2011-2022 走看看