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

拯救者R7000用户实测:用华为电脑管家11.0版搞定MatePad Pro多屏协同(附驱动与显卡避坑指南) 本文详细介绍了如何在非华为笔记本联想拯救者R7000上安装华为电脑管家11.0版,实现与MatePad Pro的多屏协同功能。从驱动优化到显卡配置,提供了全面的避坑指南和实用技巧,帮助用户解决连接失败等常见问题,提升跨设备生产力体验。 阅读详情

相关推荐

从FinFET到GAA:手把手解读2nm芯片制造的关键技术(含BSPDN避坑指南)

本文深入解读了2nm芯片制造从FinFET向全环绕栅极(GAA)晶体管架构演进的核心技术,并重点剖析了背面供电网络(BSPDN)的三种实现路径及其工程挑战。文章旨在帮助工程师理解技术变革的内在逻辑,并为应对2nm节点设计中的关键问题提供实用指南。

weixin_29294975的博客 292

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

用FPGA驱动WS2812B点阵,手把手教你实现动态文字显示(附完整Verilog代码)

本文详细介绍了如何使用FPGA驱动WS2812B点阵实现动态文字显示,包括硬件连接、Verilog代码实现和动态效果设计。通过精确的时序控制和数据处理,读者可以掌握FPGA与WS2812B的交互技术,并实现炫酷的显示效果。附完整Verilog代码,适合硬件爱好者和工程师参考实践。

weixin_30482383的博客 669

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

Python爬虫获取Shopee店铺的所有商品?

通过上述代码示例,我们可以轻松实现获取Shopee店铺所有商品信息的功能。Python爬虫不仅具有强大的功能和稳定性,还可以通过丰富的库支持实现高效的数据抓取和解析。希望这篇文章能为你提供一些启发和帮助。如果你对爬虫开发有更多兴趣,可以尝试探索更复杂的功能,如多线程爬取、数据可视化等。如果你在实践中遇到任何问题,欢迎随时交流和讨论。让我们一起用技术的力量,解锁更多可能!

2401_87195067的博客 1543

SAP打印错位问题终极解决指南:LP01设备格式设置全流程

本文详细解析了SAP系统中LP01设备打印错位问题的解决方案,重点介绍了SPAD事务码的配置流程和格式设置技巧。通过精准调整输出设备、设备类型和格式类型的匹配关系,有效解决'未定义格式'错误,确保打印内容准确对齐。文章还提供了高级排查方法和预防措施,帮助SAP管理员提升打印管理效率。

weixin_29311017的博客 390

最大子矩阵——贪心算法

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

FENGXUEYINCHEN的博客 1212

8-bit量化在YOLOv11中的部署实践-(使用PTQ、QAT量化技术实现模型体积压缩和推理加速)

本文系统介绍了YOLOv11模型量化技术,主要包括三个核心部分:首先阐述模型量化的基础理论,包括量化分类、数学原理和性能影响;其次分析YOLOv11架构特点及其量化敏感层;最后详细讲解训练后量化(PTQ)的具体实现流程。研究表明,8-bit量化可使YOLOv11模型大小缩减至1/4,推理速度提升1.7-2.3倍,精度损失控制在1%以内。文章特别强调了校准算法选择(如最小最大值法和KL散度法)对量化效果的关键影响,并提供了完整的代码实现示例,为YOLOv11的高效部署提供实用指导。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1628

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

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

小G的ACM之路 1108

VCS NLP 低功耗验证系列(六):功耗分析与优化——SAIF 报告与验证效率提升

本文是VCS NLP低功耗验证系列的第六篇,主要解决功耗数据采集和验证效率优化问题。文章首先介绍了SAIF(Switching Activity Interchange Format)文件在功耗分析中的作用,详细讲解了VCS的Region-Based SAIF功能,包括三个关键系统任务($saif_region_create、$saif_region_exclude、$saif_region_monitor)的使用方法和工程实践建议。接着从编译侧、运行侧和方法学侧三个维度提出了NLP验证效率优化策略,特别强

元直的博客 472

PX4从放弃到精通(二十七):固定翼姿态控制

固件版本 PX4 1.13.2欢迎交流学习,可加左侧名片。

超维空间科技的博客 6889

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

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

joycychou的博客 1352

全球SAR卫星大盘点与回波数据处理专栏目录

本专栏将详细介绍各国各地区的SAR卫星的特点和性能,以及SAR回波数据的处理方法和技巧。主要介绍民用和商用SAR卫星,帮助你了解商业SAR卫星的最新动态和技术,MATLAB代码将全部开源。以下是专栏目录,持续更新中。

3165

uva 108 Maximum Sum 最大子矩阵和

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

勿忘初心 807

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

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 108 - Maximum Sum (POJ 1050)

#include #include #include using namespace std; int num[101][101],linesum[101]; int main() { //freopen("in.txt","r",stdin); int n,maxsum,temp; while(scanf("%d",&n)!=EOF&&n) { m

anqier0468的专栏 778
上一篇: 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、付费专栏及课程。

余额充值