• 洛谷 P1387 最大正方形 & P2701 [USACO5.3]巨大的牛棚Big Barn (求最大子正方形)


    2019-06-11

    题目: P1387 最大正方形 : https://www.luogu.org/problemnew/show/P1387

        P2701 [USACO5.3]巨大的牛棚Big Barn : https://www.luogu.org/problemnew/show/P2701


    题目均给出一个已知矩阵。

    在该已知矩阵中寻找最大的一个子正方形。

    方法:DP

    转移方程:f[i][j] = min( min( f[i][j-1] , f[i-1][j] ) , f[i-1][j-1] ) + 1

    P1387 最大正方形 AC代码:

     1 //
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 typedef long long ll;
     5 #define ri register ll
     6 
     7 ll n,m,k;
     8 ll a[105][105];
     9 ll f[105][105];
    10 
    11 signed main()
    12 {
    13     ios::sync_with_stdio(0),cin.tie(0);
    14     cin>>n>>m;
    15     for(ri i=1;i<=n;i++)
    16     {
    17         for(ri j=1;j<=m;j++)
    18         {
    19             cin>>a[i][j];
    20             if(a[i][j])
    21             {
    22                 f[i][j]=min(min(f[i][j-1],f[i-1][j]),f[i-1][j-1])+1;
    23             }
    24             k=max(k,f[i][j]);
    25         }
    26     }
    27     cout<<k<<'
    ';
    28     return 0;
    29 }
    30 //

    P2701 [USACO5.3]巨大的牛棚Big Barn AC代码:

     1 //
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 typedef long long ll;
     5 #define ri register ll
     6 
     7 ll n,t,k;
     8 bool shu[1005][1005];
     9 ll f[1005][1005];
    10 
    11 signed main()
    12 {
    13     ios::sync_with_stdio(0),cin.tie(0);
    14     cin>>n>>t;
    15     for(ri i=1;i<=t;i++)
    16     {
    17         ri a,b;
    18         cin>>a>>b;
    19         shu[a][b]=1;
    20     }
    21     for(ri i=1;i<=n;i++)
    22     {
    23         for(ri j=1;j<=n;j++)
    24         {
    25             if(!shu[i][j])
    26             {
    27                 f[i][j]=min(min(f[i][j-1],f[i-1][j]),f[i-1][j-1])+1;
    28                 k=max(k,f[i][j]);
    29             }
    30         }
    31     }
    32     cout<<k<<'
    ';
    33     return 0;
    34 }
    35 //
  • 相关阅读:
    css的网页布局案例
    position定位及实际应用
    float浮动以及案例演示
    第二十三节 margin合并实例
    第二十二节 margin合并
    第二十一节 margin技巧
    第二十节 盒子练习
    第十九节 盒子真实尺寸
    第十八节 盒子案例
    第十七节 盒子模型
  • 原文地址:https://www.cnblogs.com/Vty66CCFF/p/11001253.html
Copyright © 2020-2023  润新知