#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <iomanip>
#include <cstdio>
using namespace std;
typedef long long LL;
typedef pair<double, double> PDD;
typedef pair<LL, LL> PLL;
const LL N = 127+50;
const LL MOD = 1e9+7;
const LL INF = 0x3f3f3f3f;
#define lson l, m, rt>>1
#define rson m+1, r, rt>>1|1
LL dp[N][N], n, ans;
LL a[N];
void solve()
{
for(int i = 1;i <= n;++i)//行
{
memset(a, 0, sizeof(a));
for(int j = i;j <= n;++j)//行
{
for(int k = 1;k <= n;++k)//列
a[k] += dp[j][k];
LL sum = 0;
for(int k = 1;k <= n;++k)//一维最长连续子序列
{
sum += a[k];
if(sum < 0) sum = 0;
else ans = max(ans, sum);
}
}
}
cout << ans << endl;
}
int main()
{
scanf("%lld", &n);
for(int i = 1;i <= n;++i)
for(int j = 1;j <= n;++j)
scanf("%lld", &dp[i][j]);
solve();
return 0;
}
dp--poj1050,最大子矩阵
猜你喜欢
转载自www.cnblogs.com/shuizhidao/p/11448313.html
今日推荐
周排行