給出乙個n [2<=n<=100],並給出乙個n*n的矩陣,矩陣中的數為[-127,127]之間。求出矩陣中一塊子矩陣的最大和。
比如:
0-2
-709
2-62
-41-
41-1
80-2
和最大的子矩陣應該是這個:
92-
41-1
8
它的和是15。
第一行:整數n
接下來n行,每行n個整數,表示矩陣每個點所代表的值。
40-
2-70
92-6
2-41
-41-
180-2
矩陣的最大子矩陣的和
15
我們先求出每個數的字首和,然後用公式求出每乙個矩陣的和,在求出最大的矩陣和,就可以了。
公式為:
t+
=a[j]
[k]-a[i-1]
[k];
#include
#include
#include
using
namespace std;
int a[
101]
[101];
//初始化
intmain()
int maxn=
-214748364
;//初始化
for(
int i=
1;i<=n;i++
)for
(int j=i;j<=n;j++)}
printf
("%d"
,maxn)
;//輸出
return0;
}
最大子段和 最大子矩陣和
給出n個整數序列 可能為負數 組成的序列a1,a2,an,求該序列形如 的子段和的最大值。當所有整數均為負數時,定義最大子段和為0。多測試用例。每個測試用例佔2行 第一行是序列的個數n 0 n 10000 第二行是n個整數。為每個測試用例輸出一行結果 最大子段和。6 2 11 4 13 5 2 31...
最大子矩陣和
前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...
最大子矩陣和
前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...