#include<iostream> //动态规划思想
#include<cstdio>
#define Min -0xfffff
using namespace std;
const int INF=1e5+5;
int num[INF][INF];
int dp[INF];
int max_sum(int n,int temp[]) //求最大连续子序列的和
{
int maxsum(Min),sum(0);
for(int i=0;i<n;i++)
{
if(sum>0) sum+=temp[i];
else sum=temp[i];
if(maxsum<sum)
maxsum=sum;
}
return maxsum;
}
int Max_Matrix_Sum(int n,int m)
{
int maxsum(Min);
for(int i=0;i<n;i++)
{
memset(dp,0,sizeof(dp));
for(int j=i;j<n;j++)
{
for(int k=0;k<m;k++)
dp[k]+=num[j][k];
int sum=max_sum(m,dp);
if(maxsum<sum)
maxsum=sum;
}
}
return maxsum;
}
最大子矩阵和
最新推荐文章于 2023-03-12 16:18:41 发布