poj1964最大子矩陣 (單調棧加列舉)

2021-08-20 13:20:12 字數 841 閱讀 1820

題目傳送門

題目大意:

乙個矩陣中,求f組成的矩陣的面積,(答案乘以三)。

思路:n如果是小於100的,就可以通過字首和,然後三重迴圈暴力找,和poj1050很像,但由於是1000,就不可以了,時間複雜度太高。

這道題的類別是單調棧,仔細想一下,發現其實就是先統計每一行網上有多少個長方形,然後再列舉每一行,算出最大的maxx,相當於poj2559的加強版。**有很多細節要注意,最大的坑是,輸入的圖,兩個符號之間不一定只有乙個空格,所以每乙個字元都要用%s輸入,對拍拍了好久都不知道錯**,看了題解才發現,(最難受的是看的最多的人的題解還是錯的)辣雞題目,浪費我時間。

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

const int maxn=1010;

char mp[maxn][maxn];

int n,m,u[maxn][maxn];

struct dian;

int main()else

}} int maxx=0;

int r;

for(int i=1;i<=n;i++)

a=s.top();

if(u[i][j]>=a.h)

else

a.r=r+1;

a.h=u[i][j];

s.push(a);}}

} printf("%d\n",3*maxx); }

}

POJ 1964 懸線法 DP 單調棧

題意 傳送門 poj 1964 city game 題解懸線法 dp 懸線法 dpdp dp的基本思想,即求解每乙個點向上可拓展的高度以及以這個高度為高的矩形的最長寬,以更新答案。此時可保證遍歷所有可能的面積最大的矩形。include include include using namespace ...

單調棧結構問題 求最大子矩陣

題目描述 given a 2d binary matrix filled with 0 s and 1 s,find the largest rectangle containing only 1 s and return its area.for example,given the followi...

POJ 1768 最大子矩陣

描述 已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是1 1 子矩陣。比如,如下4 4的矩陣 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩陣是 9 2 4 1 1 8 這個子矩陣的大小是15。輸入 輸入是乙個n n的矩陣。輸入的...