思路:

找题4级做做。。。然后找了题最水的。。

= =感动。。。居然是一下子【记】得了做法。。。

dp一下,枚举列的起点和终点,然后求和这一段,然后对这一大列就是求个最大字段和;

#include <bits/stdc++.h>
using namespace std;
typedef long long LL; const int N=5e2+10; LL a[N][N];
LL sum[N][N];
LL temp[N];
int n,m; LL max_ele()
{
LL d=temp[1];
LL ans=temp[1];
for(int i=2;i<=n;i++)
{
if(d<0)
d=temp[i];
else
d+=temp[i];
ans=max(d,ans);
}
return ans;
} void init(int s,int t)
{
for(int i=1;i<=n;i++)
temp[i]=sum[i][t]-sum[i][s-1];
} int main()
{
scanf("%d%d",&m,&n);
memset(sum,0,sizeof(sum));
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
scanf("%lld",&a[i][j]);
sum[i][j]=a[i][j]+sum[i][j-1];
}
LL ans=0;
for(int s=1;s<=m;s++)
{
for(int t=s;t<=m;t++)
{
init(s,t);
ans=max(ans,max_ele());
}
}
printf("%lld\n",ans);
return 0;
}

51nod 1051【基础】的更多相关文章

  1. 51nod 1051 最大子矩阵和(dp)

    题目链接:51nod 1051 最大子矩阵和 实质是把最大子段和扩展到二维.读题注意m,n... #include<cstdio> #include<cstring> #inc ...

  2. 51nod 1051 求最大子矩阵和

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1051 1051 最大子矩阵和 基准时间限制:2 秒 空间限制: ...

  3. 51nod 1051 最大子矩阵和 【最大子段和DP变形/降维】

    [题目]: 一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值. 例如:*3的矩阵: - - - - 和最大的子矩阵是: - - Input 第1行:M和N, ...

  4. 51nod 1051 最大子矩阵和

    没想到居然可以O(n3)暴力过 就是大概之前的  最大连续子序列和 加成2维度了  枚举起始列 和 终止列 然后计算从1到n行最大的子矩阵的和 注意n 和 m 的输入顺序!! #include< ...

  5. 51nod 1051 最大子矩阵和(DP)

    题意 略 分析 一道经典的DP题,但是我弱到差点做不出来,真的垃圾 设置\(sum(i,j)代表1-i行第j列的前缀和\),然后枚举行i和行j,再枚举列k,做一遍类似一维的最大子段和即可 #inclu ...

  6. 【模板】51nod 1051 最大子矩阵和

    [题解] 二重循环枚举起始列和终止列,竖着往下加,转化为一个最大子段和问题,逐行累加即可. #include<cstdio> #include<cstring> #includ ...

  7. 最大子矩阵和 51Nod 1051 模板题

    一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值. 例如:3*3的矩阵:   -1 3 -1 2 -1 3 -3 1 2   和最大的子矩阵是:   3 - ...

  8. 51nod 1051

    * 最大子矩阵 * sum[i][j] 表示第 i 行前 j 列的和,即每一行的前缀 * i,j 指针枚举列,k指针枚举行 * Now 记录当前枚举的子矩阵的价值 * 由于记录了前缀信息,一旦 Now ...

  9. 基础dp 记录

    51nod 1134 最长递增子序列 #include<iostream> #include<cstdio> #include<cstring> #include& ...

随机推荐

  1. 从S3中导入数据到Dynamodb

    本节如果你已经从Dynamodb中导出过数据,而且导出的文件以及被存入S3.文件内部结构会在Verify Data Export File 中描写叙述. 我们称之前导出数据的原始表为source ta ...

  2. 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17

    本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 榜单详情:http://www ...

  3. Win10升级.NET Framework 3.5或2.0遇到错误0x800f081f

    具体方法如下: 1.将WIN10安装光盘ISO文件加载到虚拟光驱中. 2.WIN键+R键一起按,输入CMD后回车. 3.在CMD的命令行窗口里输入: cd C:Windowssystem32 跳转到s ...

  4. 九度OJ 1119:Integer Inquiry(整数相加) (大数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:679 解决:357 题目描述: One of the first users of BIT's new supercomputer was ...

  5. Docker的跨主机连接:

    1使用网桥实现跨主机容器连接. 2使用open vswitch虚礼的交换机实现跨主机容器连接. 3使用weave开源项目工具实现跨主机连接. 使用网桥实现跨主机容器连接:在同一个docker的主机中d ...

  6. Codeforces Round #261 (Div. 2) B. Pashmak and Flowers 水题

    题目链接:http://codeforces.com/problemset/problem/459/B 题意: 给出n支花,每支花都有一个漂亮值.挑选最大和最小漂亮值得两支花,问他们的差值为多少,并且 ...

  7. 一看就会,科目三靠边停车30cm技巧!再也不怕不会停车了!

    靠边停车是科目三考试的最后一关,如果在这一关失败,那之前所有的努力都功亏一篑了,你感觉吃不吃亏?就连我们自己平时开车,轮胎万一与路边石阶刮蹭,就会造成不小的伤害.那么靠边停车时有哪些注意要点呢?请和小 ...

  8. U盘安装Ubuntu 14.04 LTS正式版 出现如下的提示,不能继续,如何操作?

    I had a problem (minor annoyance) when booting up Arch linux with a USB drive connected. The problem ...

  9. mapkeeper总结

    1. mapkeeper下有个thrift目录,在该目录编译c++版本和java版本. C++版本需要系统安装thrift-0.9.2,而java版本需要系统安装thrift-0.8.0 2. thr ...

  10. java运行Linux命令

    <%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UT ...