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;
}

PCIe Crosslink PCIe Crosslink(交叉连接)是一种特殊的PCIe链路连接方式,允许两个PCIe设备(通常是Root Complex或Endpoint)是指两个PCIe设备(如两个CPU、两个FPGA或两个GPU)通过PCIe链路直接连接,形成点对点(P2P)通信通道。:两个Intel/AMD CPU通过PCIe Crosslink直接通信(替代UPI/Infinity Fabric)。:主板需提供PCIe Crosslink连接(如特定插槽支持x16/x8 Crosslink)。 阅读详情

相关推荐

c语言面试5(希诺麦田)

在 C 语言中,当使用strlen函数计算字符串的长度时,它会返回字符串中字符的实际个数,不包括字符串结束符’\0’。而sizeof(array)返回的是array指针所占用的字节数,通常在 32 位系统上为 4 个字节,在 64 位系统上为 8 个字节。在给定的代码中,array被初始化为"\0\0",其中包含两个转义字符’\0’。当使用strlen函数计算array的长度时,它会遇到第一个’\0’并停止计数,因此返回的长度为 2。12.下面四个选项是四个整数在内存中的存储情况,其中数值最大的一个是。

Pierce110110的博客 1053

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

四足机器人如何用对抗运动先验(AMP)实现复杂地形行走?Unitree Go1实战解析

本文深入解析了四足机器人Unitree Go1如何通过对抗运动先验(AMP)算法实现复杂地形行走。AMP结合模仿学习与对抗训练,使机器人仅凭本体感知就能适应未知地形。文章详细介绍了AMP的核心架构、仿真训练工程实践以及在Unitree Go1上的部署优化方案,展示了其在极端地形下的卓越性能表现。

weixin_29050513的博客 328

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

告别测序污染:手把手教你用Decontam+SCRUB+FEAST完成微生物组数据清洗全流程

本文详细解析了使用Decontam、SCRUB和FEAST三大工具完成微生物组数据清洗的全流程。从环境准备、数据导入到污染物识别、样本间污染校正及溯源分析,提供了一套可复用的污染校正工作流,帮助研究者提升数据质量,确保后续分析的可靠性。

weixin_33462927的博客 317

14、多标签分类与卷积神经网络在医学图像处理中的应用

本文探讨了多标签分类与卷积神经网络(CNN)在医学图像处理中的应用。文章详细介绍了多标签分类的概念和挑战,以及如何通过CNN进行高效、准确的分类任务。内容涵盖模型设计、损失函数选择、数据增强技术、类别权重调整等关键技术点,并结合实际案例,如白内障手术工具检测、视网膜血管分割等,展示了CNN在医学图像分析中的强大潜力。此外,还讨论了模型优化策略及面临的挑战与解决方案。

t8u9v0的博客 192

最大子矩阵——贪心算法

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

FENGXUEYINCHEN的博客 1212

windows搭建IIS(FTP)

适用于参加网络系统管理的学生进行学习与参考

a1119619789的博客 280

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

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

小G的ACM之路 1108

小白也能懂!一步步教你用FPGA加速YOLO目标检测(入门篇)

安装到 PYNQ 开发板中。该库为 PYNQ 平台提供了对量化神经网络(如 YOLO)的硬件加速支持。确保你的电脑已连接到外网,如 WiFi 或热点(手机热点理论上也可用,未实测)。当你看到安装成功的提示后,打开 Jupyter Notebook,你会发现在。趁这个机会,泡了杯茶,刷了会儿手机,顺便感慨了一下开源社区的强大……页面中多出了一些新的项目文件夹 —— 这就是我们刚才安装的。参数,浅拷贝只克隆最近一次提交,减少数据量,避免超时问题。初始化,打开该文件,即可运行我们的Tiny YOLO。

FJN110的博客 1597

「UG/NX」多功能dll集成一个dll的三种方法

C++多功能集成一个dll的三种方法。

何曾参静谧的博客 1390

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

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

joycychou的博客 1352

让 VK31 的条件维护树长出你想要的分支:用 ABAP SE43 扩展定价 Area Menu COND_AV

摘要:本文深入解析了SAP系统中价格条件维护(VK31/VK32)的菜单结构优化方法。通过分析Area Menu(COND_AV)的三层架构(菜单对象、节点、报表),提出将业务语言融入菜单设计的解决方案。重点介绍了使用SE43事务码扩展标准菜单的具体步骤:创建Enhancement ID、新增业务节点、挂接定价报表,并强调需同步验证条件表映射关系。文章还提供了常见问题排查思路,建议从岗位视角重构菜单结构,最终实现高效、精准且符合业务语义的价格维护入口体系。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 89

uva 108 Maximum Sum 最大子矩阵和

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

勿忘初心 807

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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、付费专栏及课程。

余额充值