#include<iostream>
using namespace std;

int GetMaxNum(int a[],int n) //求最大字段和
{
int i,sum=0,maxsum=0;

maxsum|=1<<31;
for(i=1;i<=n;i++)
{
sum+=a[i];
if(sum<a[i])
sum=a[i];
if(maxsum<sum)
maxsum=sum;
}
return maxsum;
}

int main()
{
int n,i,j,k,a;
int s[102][102],t[102];
int res,maxres;

while(cin>>n)
{
for(i=0;i<=n;i++) //初始化,方便计算
s[i][0]=s[0][i]=0;

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cin>>a;
s[i][j]=s[i-1][j]+a; //读入时就处理,累加每一列的和,s[i][j]表示第j列中i从第1行加到第i行的和
}

maxres=0;
maxres|=1<<31; //maxres二进制最高位(符号位)置1变为负数,变为最小负数
for(i=0;i<n;i++)
for(j=i+1;j<=n;j++)
{
for(k=1;k<=n;k++)
t[k]=s[j][k]-s[i][k]; //t[k]表示第k列中第i行到第j行的和
res=GetMaxNum(t,n);
if(maxres<res)
maxres=res;
}
cout<<maxres<<endl;
}
return 0;
}

hdu1081的更多相关文章

  1. 区间Dp 暴力枚举+动态规划 Hdu1081

    F - 最大子矩形 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Des ...

  2. HDU1081 最大字段和 压缩数组

    最大字段和题型,推荐做题顺序: HDU1003    HDU1024     HDU1081  zoj2975  zoj2067 #include<cstdio> #include< ...

  3. HDU1081 最大字段和 压缩数组(单调队列优化)

    最大字段和题型,推荐做题顺序: HDU1003 HDU1024 HDU1081  ZOJ2975 ZOJ2067 #include<cstdio> #include<cstdlib& ...

  4. hdu1081 To the Max

    直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与 ...

  5. hdu1081(最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 分析:a[i][j]代表第i行,前j个数据的和:那么由a[i][j]可得sum[k][long] ...

  6. 【 HDU1081 】 To The Max (最大子矩阵和)

    题目链接 Problem - 1081 题意 Given a two-dimensional array of positive and negative integers, a sub-rectan ...

  7. hdu1081 DP类最大子段和(二维压缩+前缀和数组/树状数组计数)

    题意:给出一个 n * n 的数字矩阵,问最大子矩阵和是多少. 由于和最长子段和问题类似,一开始想到的就是 DP ,一开始我准备用两个循环进行 DP ,对于每一个 (i,j) ,考察(i - 1,j) ...

  8. hdu1081 To The Max 2016-09-11 10:06 29人阅读 评论(0) 收藏

    To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. 最大子矩阵 hdu1081

    To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. HDU1081:To The Max(最大子矩阵,线性DP)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1081 自己真够垃圾的,明明做过一维的这种题,但遇到二维的这种题目,竟然不会了,我也是服了(ps:猪啊). ...

随机推荐

  1. Ubuntu 16.04 NFS搭建

    NFS服务器配置: 1.安装NFS相关包 apt-get install nfs-kernel-server nfs-common # centos 7# yum install nfs-utils ...

  2. 2014年的暑假ACM之旅!

    致未来的我: 回到学校了,又开始了繁忙的生活! 虽然每天都不太轻松,但还是蛮有乐趣的,一起讨论某道题或者某种算法时挺开心的.@我.@姜维波.@曹彦宝.@李岩.@张永宏 继续这样下去,直到这个暑假的结束 ...

  3. PostgreSQL基本操作

    列出当前数据库所有表 \dt 列出表名 SELECT tablename FROM pg_tables; WHERE tablename NOT LIKE 'pg%' AND tablename NO ...

  4. svn及git使用笔记

    这周发生好几件大事: 谷歌发布SHA-1安全加密碰撞实例 Cloudflare 泄露网络会话中的加密数据 linux内核漏洞 CVE-2017-6074 加密在网络中越来越受关注,目前github的提 ...

  5. Can I run a local BLAST search again multiple blast databases simultaneously?

    from: https://secure.clcbio.com/helpspot/index.php?pg=kb.page&id=113 Can I run a local BLAST sea ...

  6. matlab中的科学记数法变成小数形式

    例如:假如rectx的形式在命令窗口显示: rectx = 1.0e+05 * 5.2294 5.2294 5.2294 5.2294 5.2294 那么,命令窗口输入vpa(rectx): ans ...

  7. 关于C++类的成员函数是否要加关键字“const”

    原则:类的成员函数在小括号后大括号前加上 const ,代表不准备改变对象的数据.不加的话代表有可能会改变对象的数据. 1.当常量对象,就是加上const修饰的类的成员去调用常量成员函数时,这表示:对 ...

  8. 文本去重之MinHash算法——就是多个hash函数对items计算特征值,然后取最小的计算相似度

    来源:http://my.oschina.net/pathenon/blog/65210 1.概述     跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度.Mi ...

  9. Python Panda - 学习笔记

    #Group by Function df.groupby('Date')[['Date']].count() df.groupby('Date')[['Date']].sum() # if it c ...

  10. 【遍历二叉树】12往二叉树中添加层次链表的信息【Populating Next Right Pointers in Each Node II】

    本质上是二叉树的层次遍历,遍历层次的过程当中把next指针加上去. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...