題目大意:第一行n, m表示矩形土地有n行m列。接下來輸入土地,由f和r組成,問最大的f矩形土地的面積,答案乘以3
將f置為1,r置為0,相當於求最大1矩陣的面積
l[i][j]表示從座標(i, j)最左邊到達0的位置
r[i][j]表示從座標(i, j)最右邊到達0的位置
h[i][j]表示從座標(i, j)向上擴充套件的最大高度
則面積表示式:(r[i][j] - l[i][j] - 1) * h[i][j];
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 1010;
int n, m;
int a[maxn][maxn];//地圖,f為1,r為0
int l[maxn][maxn], r[maxn][maxn];//該座標最左(右)邊到達0的位置
int h[maxn][maxn];//該位置向上能擴充套件的最大高度
int ans;
void solve()
for(i = 1; i <= n; ++i)
}}int main()
solve();
printf("%d\n", ans * 3);
return
0;}
P4147 玉蟾宮 懸線法求最大子矩陣
p4147 玉蟾宮 懸線法,l r up 分別表示 i,j 這個點向左,右,上能到達的遠點。然後面積就很好辦了。具體實現見 然而,還有更優秀的演算法,可是我還沒學會嚶嚶嚶,可以看看這題 p1578 奶牛浴場 includeusing namespace std const int n 1005 in...
玉蟾宮 洛谷P4147
題目描述 有一天,小貓rainbow和freda來到了湘西張家界的天門山玉蟾宮,玉蟾宮宮主藍兔盛情地款待了它們,並賜予它們一片土地。這片土地被分成nm個格仔,每個格仔裡寫著 r 或者 f r代表這塊土地被賜予了rainbow,f代表這塊土地被賜予了freda。現在freda要在這裡賣萌。它要找一塊矩...
洛谷P4147 玉蟾宮
傳送門給定乙個 n m 的 0 1 矩陣,求最大子矩陣 滿足矩陣內所有元素均為 1 輸出矩陣大小 3 懸線法,最大子矩陣板子題 也可以單調棧和並查集,但是窩不會 維護三個值 l i j 和 r i j up i j 分別代表當前點 i,j 向左最長的延伸到的點位置,向右最長的延伸到的點位置,向上最長...