最大子矩陣(貪心)

2021-07-24 21:59:03 字數 1162 閱讀 3540

總時間限制: 

1000ms 

記憶體限制: 

65536kb

描述

已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空(大小至少是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的矩陣。輸入的第一行給出n (0 < n <= 100)。再後面的若干行中,依次(首先從左到右給出第一行的n個整數,再從左到右給出第二行的n個整數……)給出矩陣中的n

2個整數,整數之間由空白字元分隔(空格或者空行)。已知矩陣中整數的範圍都在[-127, 127]。

輸出輸出最大子矩陣的大小。

樣例輸入

4

0 -2 -7 0 9 2 -6 2

-4 1 -4 1 -1

8 0 -2

樣例輸出

15

** 翻譯自 greater new york 2001 的試題

這道題要運用貪心和列舉,只需要輸入矩陣,求出每個子矩陣的和,再進行比較輸出最大的即可。

#include

#include

using namespace std;

int n;

int a[101][101],x[101];

int z(int b,int n);

int main(){

//freopen("f:","r",stdin);

cin>>n;

for(int i=0;i

>a[i][j];

int little=a[0][0],te; //定義兩個引數,little第乙個子矩陣,te累加之後不停的與little進行比較

for(int i=0;i

0)mp+=b[i];

else

mp=b[i];

if(max

貪心 最大子矩陣

最大子矩陣 總時間限制 1000ms 記憶體限制 65536kb 描述 已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是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...

最大子矩陣 字首和 貪心

給定乙個包含整數的二維矩陣,子矩形是位於整個陣列內的任何大小為1 1或更大的連續子陣列。矩形的總和是該矩形中所有元素的總和。在這個問題中,具有最大和的子矩形被稱為最大子矩形。例如,下列陣列 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 其最大子矩形為 9 2 4 1 1 8 它擁有...

最大子矩陣

描述 已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是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的矩陣。輸入的第...