|NOIOJ|动态规划|1768:最大子矩阵

原创 2016年08月29日 11:07:43

http://noi.openjudge.cn/ch0206/1768/

枚举矩阵起始行和结束行O(n^2), 然后再枚举一维O(n)求最大字段和即可

#include<iostream>
#include<cstdio>  
#include<cstring>   
#include<algorithm> 
#define ms(i,j) memset(i, j, sizeof(i)); 
using namespace std;
int a[105][105];
int n;
int main()  
{
	scanf("%d", &n);
	for (int i=1;i<=n;i++)
	for (int j=1;j<=n;j++)
	{
		scanf("%d", &a[i][j]);	
	} 
	int ans = -100000000;
	for (int i=1;i<=n;i++)//枚举矩阵起始行
	{
		int b[105];
		ms(b,0);
		for (int j=i;j<=n;j++)//枚举矩阵结束行
		{
			for (int k=1;k<=n;k++) b[k] += a[j][k];//累加和
			int f = -100000000;
			int ret = -100000000;
			for (int k=1;k<=n;k++) //动态规划求最大字段和
			{f = max(f+b[k], b[k]); ret = max(ret, f);}
			ans = max(ans, ret);
		}
	}
	printf("%d\n", ans);
    return 0;  
}  




版权声明:博客停更,请到"再见,CSDN"文章中找新博客地址

1768:最大子矩阵

总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩...
  • Wanglinlin_bfcx
  • Wanglinlin_bfcx
  • 2017年07月15日 12:49
  • 168

动态规划——最大子矩阵和

动态规划——最大子矩阵和 分类: 初识算法2009-08-16 11:43 2022人阅读 评论(0) 收藏 举报 matrixiostreaminideletec算法 最大...
  • pi9nc
  • pi9nc
  • 2013年07月01日 21:22
  • 1226

动态规划——最长连续子序列和+最大子矩阵和

问题:给一列数n个,求最大连续子序列和(即连续的子序列中和最大的序列)   本文作者 凌风 (iaccepted) 拓展:给一个n*n的矩阵,求其中和最大的子矩阵(即所有子矩阵中和最大的阵) 首先...
  • IAccepted
  • IAccepted
  • 2014年01月26日 21:19
  • 7169

动态规划法求解矩阵最长路径问题

题目描述:有一个m×n的矩阵,现要从左下角走到右上角,并且方向只能是向上或者向右, 现规定一条路径的权值为走此路径所经过的值的和。给定一个矩阵,请找出权值最大的一条 路径。 Exam...
  • u012129558
  • u012129558
  • 2016年09月03日 11:51
  • 1489

动态规划练习--02(最大子矩阵)

题目描述: 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。 比如,如下4 * 4的矩阵 0 -2 -7 0...
  • sdau164185
  • sdau164185
  • 2017年04月17日 20:30
  • 218

HDU:1559 最大子矩阵(动态规划DP)

最大子矩阵 Time Limit: 30000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...
  • zugofn
  • zugofn
  • 2016年08月09日 00:04
  • 231

动态规划 最大子矩阵的和

问题:最大子矩阵的和  最大子矩阵的和这个问题实际上是子串的最大和向二维空间的扩展!我们如果把每一列都看作一个数的话,实际上也是个子串的最大和问题! 不多说啦,大家看代码体会吧! package...
  • hengliwuyou
  • hengliwuyou
  • 2015年06月22日 20:15
  • 242

10th 【动态规划】最大子矩阵和

最大子矩阵 题目描述 给定一个整数二维数组。子矩形是在整个阵列中,一个连续的大小为1 * 1或更大的矩形。 矩形的总和是矩形中所有元素的总和。请编程求出,最大的总和的子矩形被称为最大的子矩形。 ...
  • qq_39260917
  • qq_39260917
  • 2017年06月29日 12:21
  • 102

hdu1081 To The Max(动态规划-最大子矩阵)

20分钟就a了,突然感觉自己好强啊,嗯♂?先是最基本的思路,枚举所有子矩阵,必定超时计算所有子矩阵中的计算有大量重复,尝试定义状态dp[i][j],表示以i行j列元素为矩阵右下角的子矩阵所得到的最大子...
  • zjtzyrc
  • zjtzyrc
  • 2015年04月03日 13:02
  • 190

【动态规划】最大子矩阵

问题:求一个n*m的矩阵中的最大子矩阵。 思路: 考虑只有一行的情况,在1*m的矩阵中,最大子矩阵可以很容易求出。 sum[j]=max(sum[j-1]+num[j], num[j])sum[j...
  • Hemk340200600
  • Hemk340200600
  • 2017年02月08日 16:59
  • 241
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:|NOIOJ|动态规划|1768:最大子矩阵
举报原因:
原因补充:

(最多只允许输入30个字)