DP求最大正方形的邊長 hnust 1714

2021-09-19 13:55:29 字數 591 閱讀 2119

給定乙個n*n的正方形,裡面有e(表示空地),f(表示被占有的地),求最大的正方形空地的邊長

用dp[i][j]表示以a[i][j]為右下角的最大正方形的邊長,注意:是以a[i][j]為右下角,也就是說a[i][j]必須是空的

只有當   ↖   ←   ↑   這三個方向都是都為空時才能向外拓展,

所以dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+1 ,或許有點看不懂,但是手動模擬一下就懂了

#include #include #include using namespace std;

const int n=2005;

char s[n][n];

int dp[n][n];

int minn(int a,int b,int c)

int main()

}printf("%d\n",ans);

}return 0;

}

最大正方形

題目鏈結 在乙個n m的只包含0和1的矩陣裡找出乙個不包含0的最大正方形,輸出邊長。輸入格式 輸入檔案第一行為兩個整數n,m 1 n,m 100 接下來n行,每行m個數字,用空格隔開,0或1.輸出格式 乙個整數,最大正方形的邊長 輸入樣例 1 複製 4 4 0 1 1 1 1 1 1 0 0 1 1...

最大正方形

題解 if a i j 1 f i j min min f i j 1 f i 1 j f i 1 j 1 1 f i j 表示以節點i,j為右下角,可構成的最大正方形的邊長。只有a i j 1時,節點i,j才能作為正方形的右下角 對於乙個已經確定的f i j x,它表明包括節點i,j在內向上x個節...

最大正方形

一.題目描述 在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。示例 輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 4 二.思路 動態規劃 當前元素matrix i j 對應的最大正方形邊長跟matrix i 1 j m...