最大子矩陣和
一個M*N的矩陣,找到此矩陣的一個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。
例如:3*3的矩陣:
-1 3 -1
2 -1 3
-3 1 2
和最大的子矩陣是:
3 -1
-1 3
1 2
Input
第1行:M和N,中間用空格隔開(2 <= M,N <= 500)。 第2 - N + 1行:矩陣中的元素,每行M個數,中間用空格隔開。(-10^9 <= M[i] <= 10^9)
Output
輸出和的最大值。如果所有數都是負數,就輸出0。
Input示例
3 3 -1 3 -1 2 -1 3 -3 1 2
Output示例
7
#include <iostream>
using namespace std;
int input[500][500];
long long int sum[500][500];
long long int maxSumOfLine(long long int buf[], int m)
{
long long int result = 0;
long long int sum = 0;
for (int i = 0; i < m; i++)
{
if (sum < 0)
{
sum = buf[i];
}
else
{
sum += buf[i];
}
if (sum > result)
{
result = sum;
}
}
return result;
}
long long int fun(int m, int n)
{
long long int result = 0;
long long int buf[m];
for (int i = 0; i < m; i++)
{
sum[i][0] = input[i][0];
for (int j = 1; j < n; j++)
{
sum[i][j] = sum[i][j-1] + input[i][j];
}
}
for (int left = 0; left < n; left++)
{
for (int right = left; right < n; right++)
{
for (int i = 0; i < m; i++)
{
if (left == 0)
{
buf[i] = sum[i][right];
}
else
{
buf[i] = sum[i][right] - sum[i][left-1];
}
}
long long int temp = maxSumOfLine(buf, m);
if (temp > result)
{
result = temp;
}
}
}
return result;
}
int main()
{
int m, n;
cin >> n >> m;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cin >> input[i][j];
}
}
cout << fun(m, n) << endl;
return 0;
}
相關文章
- 最大子段和 | 最大子矩陣 | 最大M子段和矩陣
- poj1050 最大子矩陣和矩陣
- POJ 1050-To the Max(最大子矩陣和)矩陣
- #1502 : 最大子矩陣矩陣
- openjudge1768 最大子矩陣[二維字首和or遞推|DP]矩陣
- 動態規劃-最大子矩陣和(ZOJ 1074 TO THE MAX )動態規劃矩陣
- 第四章:多維陣列和矩陣 ------------- 4.4 找出邊界為1的最大子方陣陣列矩陣
- 53. 最大子陣列和陣列
- 矩陣和陣列矩陣陣列
- CF22B 最大子矩陣問題簡單版矩陣
- 迴圈陣列最大子段和陣列
- bzoj1084: [SCOI2005]最大子矩陣(Dp)矩陣
- hdu4328 最大子矩陣問題O(n*m)掃描思想矩陣
- 最大子陣列和問題的解陣列
- 【力扣】最大子陣列和(貪心)力扣陣列
- [Python手撕]最大子陣列和Python陣列
- 求二維陣列中最大子陣列的和陣列
- 最大連續子陣列和(最大子段和)陣列
- 伴隨矩陣和逆矩陣的關係證明矩陣
- LeetCode53. 最大子陣列和LeetCode陣列
- 生成螺旋矩陣(方陣、矩陣)矩陣
- 第四章:多維陣列和矩陣 ------------- 4.8 子矩陣的最大累加和陣列矩陣
- 鄰接矩陣、度矩陣矩陣
- 巨大的矩陣(矩陣加速)矩陣
- 資料結構之陣列和矩陣--矩陣&不規則二維陣列資料結構陣列矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- 矩陣的最短距離和矩陣
- 矩陣矩陣
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 3D圖形:矩陣的行列式,矩陣的逆、正交矩陣、齊次矩陣3D矩陣
- 矩陣中最大的二維矩陣矩陣
- 求任意矩陣的伴隨矩陣矩陣
- 【DP】乘積最大子陣列陣列
- Python Numpy的陣列array和矩陣matrixPython陣列矩陣
- webgl 系列 —— 變換矩陣和動畫Web矩陣動畫
- 矩陣的特徵值和特徵向量矩陣特徵
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 陣列1——求一個陣列的最大子陣列陣列