To the Max

Posted mch5201314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了To the Max相关的知识,希望对你有一定的参考价值。

链接

[http://poj.org/problem?id=1050]

题意

给你一个矩阵,让你求子矩阵中的元素之和最大

分析

其实跟最大和子序列一样只不过维数增加了,你只需要降维就好了

技术分享图片

代码

#include<iostream>
#include<string.h>
using namespace std;
#define ll long long

int m[200][200];
int main(){
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n,i,j,k;
    while(cin>>n){
        memset(m,0,sizeof(m));
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++)
            cin>>m[i][j],m[i][j]+=m[i-1][j];
        }
     int sum=0;
     int ans=-130; 
     for(i=1;i<=n;i++){
        for(j=i;j<=n;j++){
            sum=0;
            for(k=1;k<=n;k++){
                sum+=m[j][k]-m[i-1][k];//第k列第i个元素到第j个元素之和
                 if(sum<0) sum=0;//如果小于0从新的地方开始
                 if(sum>ans) ans=sum;//更新最大值 
             }
         }
       }
       cout<<ans<<endl; 
    } 
    return 0;
} 

以上是关于To the Max的主要内容,如果未能解决你的问题,请参考以下文章

RuntimeError: An attempt has been made to start a new process before the current process has...(代码片段

ubuntu16.04 yum报错:There are no enabled repos. Run “yum repolist all“ to see the repos you have.(代码片段

[POJ1050]To the Max (矩阵,最大连续子序列和)

HDU 1081 To The Max

HDU 1081 To The Max

[Grid Layout] Use auto-fill and auto-fit if the number of repeated grid tracks is not to be def(代码片段