hdu 1081 To The Max(最大子矩阵和,dp)

来源:互联网 发布:如何成为金融数据分析 编辑:程序博客网 时间:2024/06/06 14:17

题目连接:http://http://acm.hdu.edu.cn/showproblem.php?pid=1081

一维最大和求法

for(int i=0;i<len;i++){if(sum<0) sum=0;sum+=a[i];maxn = max(maxn,sum);}
二维类似
#include <iostream>#include <algorithm>#include <string.h>#include <string>#include <cstdio>using namespace std;int sum[105][105];int main(){int n;while(cin>>n){int a;memset(sum,0,sizeof(sum));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>a;sum[i][j] = sum[i][j-1]+a;}}int maxn=-100000;for(int i=0;i<n;i++){for(int j=i;j<=n;j++){int ans=0;for(int k=1;k<=n;k++){ans+=sum[k][j]-sum[k][i];if(ans<0) ans=0;maxn = max(maxn,ans);}}}cout<<maxn<<endl;}return 0;}


0 0
原创粉丝点击