zoukankan      html  css  js  c++  java
  • 洛谷 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 //
  • 相关阅读:
    汉诺塔问题
    两个有序链表序列的合并
    数列求和
    求集合数据的均方差
    [NOIP2014] 提高组 洛谷P1328 生活大爆炸版石头剪刀布
    [NOIP2014] 普及组
    洛谷P1726 上白泽慧音
    洛谷P1808 单词分类
    洛谷P1889 士兵站队
    洛谷P1288 取数游戏II
  • 原文地址:https://www.cnblogs.com/Vty66CCFF/p/11001253.html
Copyright © 2011-2022 走看看