最大子矩阵之和
题目描述
已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是11)子矩阵。
比如,如下44子矩阵
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(1<=N<=100)的整数矩阵,每个数的范围在-127~127之间。
输出
输出最大子矩阵的大小。
输入样例
4
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
输出样例
15
解题思路
先用数组来求出每一个数的前缀和,再把每一列都看做一个整体,最后再用最大连续数列来算出最大矩阵之和。
#include<iostream>
#include<cstdio>
using namespace std;
int n,a[128][128],ans
动态规划求解最大子矩阵和

该博客介绍了如何使用动态规划方法找到给定矩阵中的最大非空子矩阵之和。通过计算矩阵中每个元素的前缀和,并将每列视为一个整体,最终应用最大连续数列算法找出最大子矩阵,例如在给定的4x4矩阵中,最大子矩阵大小为15。
最低0.47元/天 解锁文章
415





