AcWing 126. 最大的和
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 126. 最大的和相关的知识,希望对你有一定的参考价值。
很经典的题。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define pb push_back
#define fi first
#define se second
#define mem(a,x) memset(a,x,sizeof(a));
#define db double
#define fir(i,a,n) for(int i=a;i<=n;i++)
//======================
//参考:https://www.acwing.com/solution/content/4127/
const int N=105;
int a[N][N],s[N][N];
int n;
int ans=-0x3f3f3f3f;
int main()
{
cin>>n;
fir(i,1,n)
{
fir(j,1,n)
{
cin>>a[i][j];
a[i][j]+=a[i-1][j];//这一列的前缀和
}
}
//枚举边界
fir(i,1,n)
{
fir(j,i,n)//枚举排,两排之间
{
int t=0;
fir(k,1,n)//列
{
t=max(t,0)+a[j][k]-a[i-1][k];//如果上一个t是负数,就不带它
ans=max(ans,t);
}
}
}
cout<<ans;
return 0;
}
以上是关于AcWing 126. 最大的和的主要内容,如果未能解决你的问题,请参考以下文章
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段