看了好多文章,就了解一下,最大字段和、最大子矩阵的问题
https://blog.csdn.net/Double2hao/article/details/51727420 最大子矩阵--他动态规划的那一段代码我认为是有问题的
https://blog.csdn.net/lihao21/article/details/7216579

#include<cstdio>
#include<cstring>
int n;
int a[110][110];
int b[110];
int main()
{
while(scanf("%d",&n)!=EOF)
{
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
scanf("%d",&a[i][j]);
int Max = -32767;
for(int i=0; i<n; i++)
{
//数组b表示i~j行,对应列元素的和
//将二维动态规划问题转化为一维动态规划问题
memset(b, 0, sizeof(b));
for(int j=i; j<n; j++)
{
//下面是针对数组b求最大子段和的动态规划算法
int sum=0;
for(int k=0; k<n; k++)
{
b[k] += a[j][k];
if(sum>0) sum+= temp;
else sum=temp;
if(sum>max) max = sum;
}
}
}
printf("%d\n",Max);
}
return 0;
}
本文主要探讨了最大子矩阵问题,通过分析不同文章的思路,尤其是针对动态规划解决方案进行了深入研究,指出某些代码可能存在的问题,并提供了相关的学习资源链接。
304

被折叠的 条评论
为什么被折叠?



