标签:return data 描述 oda 接下来 输入 const bit log
#include<bits/stdc++.h> using namespace std; const int maxn=1e4; const int inf=0x3f3f3f; int dp1[maxn]; int dp2[maxn]; int a[maxn][maxn]; int sum=-inf; int main(){ int n,m;cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++){ memset(dp1,0,sizeof(dp1));///把i项行、i+i+1行的列、i+(i+1)....n的列合一起,变成一行,转为一维数组解决最大子段和 for(int j=i;j<=n;j++){ for(int k=1;k<=m;k++){ dp1[k]+=a[j][k]; } memset(dp2,0,sizeof(dp2));///开一个数组找一行里的最大子段和 for(int u=1;u<=m;u++){ dp2[u]=max(dp2[u-1]+dp1[u],dp1[u]); if(dp2[u]>sum)sum=dp2[u];///找到大的更新 } } } cout<<sum<<endl; return 0; }
标签:return data 描述 oda 接下来 输入 const bit log
原文地址:https://www.cnblogs.com/mohari/p/12979787.html