UVa 108 Maximum Sum (贪心&最大子矩阵和)

1224:最大子矩阵 2020-12-02 1224:最大子矩阵 时间限制: 1000 ms 内存限制: 65536 KB【题目描述】 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1×1)子矩阵。 比如,如下4×4的矩阵 0 −2 −7 0 9 2 −6 2 −4 1 −4 1 −1 8 0 −2 的最大子矩阵是 9 2 −4 −1 1 8 这个子矩阵的大小是15。【输入】 输入是一个N×N的矩阵。输入的第一行给出N(0<N≤100)。再后面的若干行中,依次(首先从左到右给出第一行的... 阅读详情

108 - Maximum Sum

Time limit: 3.000 seconds

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&page=show_problem&problem=44

Background

A problem that is simple to solve in one dimension is often much more difficult to solve in more than one dimension. Consider satisfying a boolean expression in conjunctive normal form in which each conjunct consists of exactly 3 disjuncts. This problem (3-SAT) is NP-complete. The problem 2-SAT is solved quite efficiently, however. In contrast, some problems belong to the same complexity class regardless of the dimensionality of the problem.

The Problem

Given a 2-dimensional array of positive and negative integers, find the sub-rectangle with the largest sum. The sum of a rectangle is the sum of all the elements in that rectangle. In this problem the sub-rectangle with the largest sum is referred to as the maximal sub-rectangle. A sub-rectangle is any contiguous sub-array of size tex2html_wrap_inline33 or greater located within the whole array. As an example, the maximal sub-rectangle of the array:

displaymath35

is in the lower-left-hand corner:

displaymath37

and has the sum of 15.

Input and Output

The input consists of an tex2html_wrap_inline39 array of integers. The input begins with a single positive integer N on a line by itself indicating the size of the square two dimensional array. This is followed by tex2html_wrap_inline43 integers separated by white-space (newlines and spaces). These tex2html_wrap_inline43 integers make up the array in row-major order (i.e., all numbers on the first row, left-to-right, then all numbers on the second row, left-to-right, etc.). N may be as large as 100. The numbers in the array will be in the range [-127, 127].

The output is the sum of the maximal sub-rectangle.

Sample Input

4
0 -2 -7  0 9  2 -6  2
-4  1 -4  1 -1
8  0 -2

Sample Output

15


UVa 507的升级版。

测试数据又有问题。。就算你不满足“A sub-rectangle is any contiguous sub-array of size tex2html_wrap_inline33 or greater located within the whole array”(子矩阵不能为零矩阵,但由于测试数据太弱可以为零矩阵)也能AC。


正确的代码:

/*0.015s*/

#include<cstdio>
#include<algorithm>
using namespace std;

int num[105][105];

int main(void)
{
	int n, temp, maxn;
	while (~scanf("%d", &n))
	{
		for (int i = 1; i <= n; ++i)
			for (int j = 1; j <= n; ++j)
			{
				scanf("%d", &num[i][j]);
				num[i][j] += num[i - 1][j]; ///累加每一列,越往下累加的数越多
			}
		maxn = num[1][1];
		///从上往下,从左往右
		for (int i = 1; i <= n; ++i)
			for (int j = i; j <= n; ++j)///j从i开始
			{
				temp = 0;
				for (int k = 1; k <= n; ++k)
				{
					if (temp >= 0) temp += num[j][k] - num[i - 1][k];
					else temp = num[j][k] - num[i - 1][k];
					maxn = max(maxn, temp);
				}
			}
		printf("%d\n", maxn);
	}
	return 0;
}

单片机通识之UART通信协议(如何用汇编实现) 使用汇编实现UART通信 阅读详情

相关推荐

RYU+mininet——RYU

1. 使用RYU做mininet的控制器 1.1 RYU介绍与安装 RYU是一款基于python的控制器,你可用Ryu实现各种想要实现的网络功能,它可以下发或接收流表进行各种路由运算。 建议使用高版本的Ubuntu系统安装ryu,否则会有各种错误,安装过程比较简单,如下: apt install gcc libffi-dev libssl-dev libxml2-dev libxslt1-...

qq_34415266的博客 1万+

POJ 2479:Maximum sum(贪心)

http://poj.org/problem?id=2479 Description Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below: Your task is to calculate d(A). Input The input consists of T(&lt;=...

485

从SolidWorks到Simulink:手把手教你用URDF文件搭建六轴机械臂仿真模型(含STL文件配置避坑)

本文详细介绍了从SolidWorks到Simulink的六轴机械臂URDF仿真全流程,包括URDF文件导出、Simscape模型生成与调试、动力学参数获取与验证等关键步骤。重点解决了STL文件配置、关节接口设置等工程化难题,帮助开发者高效构建可控制的数字孪生体。通过实战案例和优化技巧,提升机械臂仿真效率与准确性。

weixin_26812607的博客 266

My coding way (5)

问题 D: 最大子矩阵 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有一个包含正数和负数的二维数组。一个子矩阵是指在该二维数组里,任意相邻的下标是1 x 1 或更大的子数组。一个子矩阵的和是指该子矩阵中所有元素的和。本题中,把具有最大和的子矩阵称为最大子矩阵。 例如,如下数组的最大子矩阵位于左下角,  0 -2-7  0  9  2-6  2 -4  1-4

Kiritow的学园 939

3个国产AI大模型实战:如何用DeepSeek+豆包+千问批量生成高质量测试用例(附完整代码)

本文详细介绍了如何利用DeepSeek、豆包和千问三大国产AI大模型批量生成高质量测试用例的实战方法。通过Python环境配置、多模型SDK安装和统一接口封装,实现高效测试用例生成,并结合结构化提示词设计和多模型结果对比分析,显著提升测试效率和覆盖率。

weixin_29197699的博客 710

VMware 虚拟机里连不上网的五种解决方案

在VMware虚拟机里的虚拟机系统连接不上网络 首先,注意查看适配器选项里的网络连接这两个网络连接是否存在,如果不存在可以重新装一下VM 如果存在,连不上网 解决办法一: 虚拟机设置里,找到“网络适配器”,右边的网络连接选择“NAT 模式”,如果不行的话再linux系统。还是不行的话接着看第二种解决方案。 解决方法二: 可能原因是VMware NET Service...

墨轩 18万+

最大子矩阵——贪心算法

题目:已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1*1)子矩阵。 输入: 输入是一个N*N的矩阵,输入的第一行给出N(0&lt;N&lt;=100)。在后面的若干行中依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行 的N个整数……)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或空行)。已知矩阵中整数的范围都在[-127,127]。 输出: 输出最大子矩阵的大小 突破点: 假设最大子矩阵的结果为从第r行到k行、从第i列到j列的子矩阵,如下

FENGXUEYINCHEN的博客 1212

Java开发者必看:5分钟搞定PaddleOCR表格识别,导出Excel和HTML超详细教程

本文为Java开发者提供了集成PaddleOCR实现智能表格识别的详细教程,包括环境配置、核心代码实现、结果导出到Excel和HTML的步骤,以及性能优化技巧。通过PaddleOCR技术,开发者可以快速将图片表格转换为结构化数据,大幅提升工作效率。

weixin_30872499的博客 100

UVA - 108 Maximum Sum(最大子矩阵和)

题目大意: 给一个N*N大小的矩阵,每个格子上有一个数字。 求这个矩阵中的子矩阵上面数字之和最小的数字是多少。 解析:将二维矩阵转换为一维,再用最大子段和的思想求解,和上题的思想差不多。

小G的ACM之路 1108

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 331

华为OD统一考试 - 模拟消息队列(Java & Python& JS & C++ & C )

让我们来模拟一个消息队列的运作,有一个发布者和若干消费者,发布者会在给定的时刻向消息队列发送消息,

算法大师! 3519

【贪心策略】Maximum Sum最大子矩阵和

(画的图和是实际写的代码有一些不同,不过思路都没问题~)

joycychou的博客 1352

Apache Flink连载(一):Apache Flink是什么?

Apache Flink 是一个框架和分布式处理引擎,用于在。

qq_32020645的博客 1216

uva 108 Maximum Sum 最大子矩阵和

不知道为啥,这样的题目跑到贪心里面去了,动态规矩挺简单,最后之前看了一遍他的问题,所以很容易就敲出来了,贪心暂时告一段落,开始dp,加油 思路: 最大子矩阵和的问题可以通过最大字段和的问题解出来,普通的暴力枚举是枚举行和列,时间复杂度为m^2*n^2,但是我们可以在行的上界和下界确定的情况下将这个矩阵压缩为一个一维数组存起来,然后利用最大字段和的求解解出来,代码应该很容易就能看懂,如果对动

勿忘初心 807

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

UVA 108 Maximum Sum

给定一个含有正负数的二维数组,找出有最大和的子矩阵。矩阵的和指矩阵中所有元素的和。一个子矩阵是任意在总矩阵中大小为1x1或更大的邻近子数组,例如在下面的矩阵中: 0 −2 −7 09 2 −6 2−4 1 −4 1−1 8 0 −2(最大子矩阵)在左下方:9 2−4 1−1 8并且和为15.输入:包括一个N和NxN的矩阵 N<=100 矩阵中的数字在区间[-127,127]内输出:最大子矩阵的和。

Gowi的博客 677

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

UVa 10827 Maximum sum on a torus (贪心&矩阵环中的最大子矩阵和)

10827 - Maximum sum on a torus Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1768 A grid that wraps both h

AC,∑ndless 1074

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Uva--108(贪心)

2014-07-2714:28:12 Maximum Sum Background A problem that is simple to solve in one dimension is often much more difficult to solve in more than one dimension. Consider satis...

dingdi3021的博客 124

UVA108 Maximum Sum dp/暴力+简化

UVA108Maximum Sum dp 暴力 简化

silence__bug的博客 391

&lt;算法竞赛入门经典&gt; 第8章 贪心+递归+分治总结

虽然都是算法基础,不过做了之后还是感觉有长进的,前期基础不打好后面学得很艰难的,现在才慢慢明白这个道理。 闲话少说,上VOJ上的专题训练吧:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=40741#overview 1. A UVA 10602 Editor Nottoobad 好像是俄罗斯NOI的题目,题意是给定n个字符串,然后

rootial的专栏 841

最大子矩阵(前缀和+贪心)

题目描述 给定一个包含整数的二维矩阵,子矩形是位于整个阵列内的任何大小为1 * 1或更大的连续子阵列。 矩形的总和是该矩形中所有元素的总和。 在这个问题中,具有最大和的子矩形被称为最大子矩形。 例如,下列数组: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩形为: 9 2 -4 1 -1 8 它拥有最大和15。 输入格式 输入中将包含一个N*N的整数数组...

逐梦er的博客 3580

贪心算法2(c++)

c++!!!!!贪心算法!!!!!

mmz1207的博客 1133

uva108 Maximum sum(矩阵最大和)

题目;uva108 Maximum sum(矩阵最大和) 题目大意:给出一个n*n的矩阵,求这个矩阵的最大和。这个矩阵不是连通的,只能在这个矩阵内找子矩阵,不能越过边界。 解题思路:枚举起点和终点,每个起点和终点就是一个矩阵,每个矩阵都算矩阵和,然后保留最大值。每个矩阵的值只要横着相加一遍,再竖着相加一遍,就可以得出以这个矩阵为起点的所有的子矩阵的和(这里可以直接要这个矩阵的和

1058

贪心-最大子矩阵

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。

Orange Software 1472

UVA - 108

求最大子矩阵的和: 思路:我们可以将这个二维数组转化为一维数组(参考其他人的思路,不过我认为将它转化为一维数组就相当于暴力列举出所有的子矩阵,具体位置在代码注释中写明),然后对这个一维数组求最大连续子序列的和。 代码如下: #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;algorithm&gt; using nam...

HappyCode 238

uva 108 Maximum Sum

题意:给你一个n*n的矩阵,求其中子矩阵的最大和是多少。 思路:枚举子矩阵的宽度,然后将该宽度的矩阵转换为一个一维数组,接着就是我们熟悉的最大连续和了。 #include #include using namespace std; int a[200][200]; int b[200]; int dp[200]; int n; int input(){ if(c

mxc的专栏 625

uva-108-贪心

uva-108-贪心 题意: 求二维数组中子数组中的最大和. 使用二维数组,第i行表示前i行的和.那么a[i-j]表示从j行到i行的和.注意第三层循环,每次都保存当前最大的sum,如果sum小于0,直接置0. #include"pch.h" #include &lt;string&gt; #include&lt;iostre...

weixin_33929309的博客 139
上一篇: UVa 507 Jill Rides Again (贪心&最大连续子串和)
下一篇: POJ 2559 / HDU 1506 / LightOJ 1083 Largest Rectangle in a Histogram (单调栈)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值