poj 1050 To the Max

别再只讲MCTS理论了!手把手教你用Java为爱恩斯坦棋实现一个‘超级估值函数+蒙特卡洛模拟’的混合策略 本文详细介绍了如何使用Java为爱恩斯坦棋实现一个结合超级估值函数与蒙特卡洛模拟的混合策略。通过实战案例和代码示例,展示了如何优化算法性能,提升胜率约50%,并提供了环境准备、基础架构、估值函数实现和蒙特卡洛模拟的完整解决方案。 阅读详情

To the Max
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 41890 Accepted: 22255

Description

Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. 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. 
As an example, the maximal sub-rectangle of the array: 

0 -2 -7 0 
9 2 -6 2 
-4 1 -4 1 
-1 8 0 -2 
is in the lower left corner: 

9 2 
-4 1 
-1 8 
and has a sum of 15. 

Input

The input consists of an N * N 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 N^2 integers separated by whitespace (spaces and newlines). These are the N^2 integers of the array, presented in row-major order. That is, all numbers in the first row, left to right, then all numbers in 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].

Output

Output 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


题目链接:http://poj.org/problem?id=1050


题目大意:求一个n乘n矩阵的最大子矩阵。


解题思路:DP。根据求最大子串的方法,把二维矩阵转换为一维的形式,即合并行,合并成一行时每一列的各行直接相加即可。然后转换成多次求最大子串问题,最大值不断更新。


代码如下:

#include <cstdio>
#include <cstring>
#define MIN -0xffffff
const int maxn=105;
int a[maxn][maxn];
int b[maxn];   //转换成最大子串问题时用来存储一维串的数组
int main()
{
    int i,j,k,n,ans,tem,sum;
    scanf("%d",&n);
	ans=MIN;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<n;i++)
    {
        memset(b,0,sizeof(b));  
        for(j=i;j<n;j++)  //行压缩从i开始,第一次i行作为一行,第二次i行和i+1行合并成一行,第三次i行和i+1行和i+2行合并成一行......
        {
            sum=0;
            tem=MIN;
            for(k=0;k<n;k++)
            {
                b[k]+=a[j][k];   //合并行
                sum+=b[k];       
                if(sum>tem)		//tem用于记录第前k个数的最大子串和
                    tem=sum;
                if(tem>ans)
                    ans=tem;
                if(sum<0)     
                    sum=0;
            }
        }
    }
    printf("%d\n",ans );
    return 0;
}
/*DP求最大子矩阵*/


把静态前端托管进 SAP BTP:HTML5 Application Deployer 与企业级内容部署全攻略 本文介绍了在SAP BTP Cloud Foundry环境中使用HTML5 Application Repository托管前端静态资源的工程化实践。通过HTML5 Application Deployer工具,结合MTA描述、路由配置和服务实例,实现前后端解耦和标准化部署。文章详细阐述了目录结构、关键配置文件、MTA编排以及构建部署流程,并针对大体积前端资源提供了GACD和异步上传两种解决方案。最后说明了如何与AppRouter协同工作,使部署内容可供终端用户访问。这套方法使前端更新无需重启后端,支持团队 阅读详情

相关推荐

YOLOv8模型部署与测试:保姆级教程(含Ultralytics配置避坑指南)

本文提供了一份详尽的YOLOv8模型部署与测试指南,涵盖环境配置、模型加载、参数优化、批量处理及API服务封装等关键步骤。重点分享了Ultralytics框架在实际部署中的常见问题与解决方案,帮助开发者高效完成从训练到生产的过渡,确保模型在真实场景中稳定运行。

weixin_29038155的博客 292

POJ 1050 To the Max【DP】

做这题前,先弄清楚HDU1003这题。 然后再把二维压缩为一维就可以了。 1,12,123,1234,2,23,234,3,34,4 按上面几种情况压缩,求出最大的即可。

AC_Dreameng 1049

[DA45] 使用PageRank算法分析希拉里邮件中的人物关系

一. 相关知识 (一) PageRank算法 PageRank 算法是 google 公司的创始人拉里·佩奇和谢尔·盖布林于1998年提出的网页搜索优化算法. 详细内容请见百度百科:google pagerank. 如果你了解了该算法, 就能明白上一段的超链接从本页面链出, 链入百度百科的 PageRank 算法页面增加了该页面...

Vincent_Chu的博客 2375

POJ 1050 To the Max

POJ 1050 To the Max 1. 根本没有思路,看到如下的解释,才明白怎么做: 这个题目很经典的说,O(N^3)的DP。 首先偶们考察这样的题目,简化版: 已知一列数,求任意连续若干个数和的最大值。 SAMPLE: 3 2 -6 2 ...

dayong9372的博客 84

高性能优化的本质

在很早之前,处理器性能的提升一般是通过减小元器件的尺寸,增加元器件的数量,提高主频来实现,这也是摩尔定律所说的,但是由于功耗的影响,主频不能一直增加。后来,由于英伟达的GPU的并行计算的出现,逐渐打破摩尔定律,人们利用多核,SIMD,SIMT来处理大量相同计算的数据,这极大的提高了效率。计算机的算力得到了巨大的提升,但是并行是困难的,对于有数据依赖的程序来说,处理并行是一件及其困难的事,但对于一些简单的数学库的计算,并行的实现相对简单。

发狂的小花的博客 273

Python 爬虫实战:亚马逊 + eBay 商品信息跨平台抓取(价格 / 销量 / 评价对比)

亚马逊和 eBay 是全球知名的电商平台,拥有海量的商品信息。对于消费者来说,比较不同平台上的商品价格、销量和用户评价可以帮助他们找到性价比最高的商品。对于商家而言,了解竞争对手的商品信息有助于优化自身的产品策略和定价策略。然而,手动在两个平台上逐一比较商品信息是非常耗时且低效的。因此,开发一个能够自动抓取并对比这两个平台商品信息的爬虫工具具有重要的实际意义。

yansideyucsdn的博客 615

POJ1050 To the Max

POJ1050 To the Max 假设最大子矩阵的结果为从第r行到k行、从第i列到j列的子矩阵, 如下所示(ari表示a[r][i],假设数组下标从1开始): | a11 …… a1i ……a1j ……a1n | | a21 …… a2i ……a2j ……a2n | | . . . . | | . . . . | ...

Yoc Lu 349

实时多目标跟踪(MOT):SORT与DeepSORT优化

实时多目标跟踪(MOT):SORT与DeepSORT优化​ ,人工智能,计算机视觉,大模型,AI,本文围绕实时多目标跟踪中的 SORT 与 DeepSORT 算法展开,阐述了两者原理、实现及优化。SORT 结合卡尔曼滤波和匈牙利算法,依赖目标检测,实时性好但复杂场景表现欠佳。DeepSORT 在其基础上引入外观特征,采用级联匹配,提升了跟踪精度和鲁棒性。还探讨了两种算法在检测、运动模型、外观特征等方面的优化方向,以及应用场景与选择建议,为相关应用和研究提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

poj1050:to the max

Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangl

学习,永不止步 763

基于 YOLOv26 的金属表面缺陷检测系统:智能视觉质检方案

摘要: 基于YOLOv26的金属表面缺陷检测系统采用深度学习技术,实现对划痕、裂纹、腐蚀等8类常见缺陷的自动化检测。系统通过数据增强预处理和YOLOv26模型的高精度识别能力,具备多类别分类、实时推理和强鲁棒性特点,适用于不同金属材质与光照条件。架构包含数据采集、预处理、YOLOv26检测和后处理模块,代码实现采用PyTorch框架,支持训练数据增强与标准化处理,为工业质检提供高效智能解决方案。

一键难忘的博客 588

【SECS】初识SECS协议

项目标题的第一位和第二位告诉下面有多少字节表示项目的长度。而项目的长度是指项目标题后面的字节数,这里第一个字节就是项目标题。1个字节可以表示的最大长度是0-255,所以只要项目标题后面的字节数小于等于254,都是0x01。

weixin_48618536的博客 1639

ACM学习-POJ-1050-To the Max

菜鸟学习ACM,纪录自己成长过程中的点滴。 学习的路上,与君共勉。 ACM学习-POJ-1050-To the Max To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37462   Accepte

Colin丶 5241

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

POJ 1050 To the Max【贪心】

To the Max  POJ - 1050  相当于二维的最大子序列,先把他降到一维再贪心或者dp #include #include #include #include #include #include #include #include #include #include #include #include #include #include using na

Puya的博客 371

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ1050 To the Max 前缀和

题目链接 http://poj.org/problem?id=1050 分析 预处理出每个位置向上各数之和,枚举两行,求在此之间的最大矩形,转化为一维求最大子段和问题。 时间复杂度为 O(n3)O(n ^ 3)O(n3)。 AC代码 #include <cstdio> inline int read() { int num = 0, flag = 1; char c = getc...

Kevin的博客 203

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

POJ1050 To the Max详解

题目链接 这道题是一道dp 我们首先可以看一下在1维中的情况:最大连续子序列和 #include<cstring> #include<cstdio> using namespace std; int a[105][105]; int n,ans,sum; int main() { freopen("tothemax.in","r",stdin); scanf("...

Robert_6277的博客 600

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

To the Max POJ - 1050

Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangle is the sum of...

森宝的博客 504

poj1050-To The Max DP求解

文章目录问题描述最优子序列问题暴力枚举动态规划poj1050AC代码 问题描述 poj1050 to the max 问题可简要描述如下: 给定一个整数n(n<100),之后输入n*n个数字组成一个方阵,在方阵内部可以选出一些小矩阵,求在方阵内部可以选出的小矩阵所包含数字的和的最大值 这个问题是一个典型的动态规划的问题,而且,和最优子序列问题实质上是一样的。 最优子序列问题 最优子序列问题是...

weixin_45144044的博客 349

POJ-1050 To the MAX题解

题目大意: 给定一个矩阵,要求矩阵中最大子矩阵和。N<=100 如输入: 4 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 输出: 15 思路: 法一:这题是到数据范围不是很严谨的一道题,虽说N<=100,但是N^4仍然可以过。 复习一下二维前缀和的知识 dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]; 若要求左上角为(i,j)右下角为(x,y)的矩形和则为:dp[x][y]-dp[x][j-1]-dp[i-1][y]+dp

qq_41201328的博客 402

poj 1050 To the Max

poj 1050 To the Max 这道题用到的是最大连续和 扩展到二维  开始时没想到是最大连续和 #include #include int a[101][101],n,temp[101]; int solve()//最大子序列和函数 { int i,sum=0,max=0; for(i=0;i<n;i++) { sum+=temp[i];

liyanfeng1996的博客 291

POJ 1050 To the Max【题解】

一道非常经典的DP题目,适合我这种DP蒟蒻\red{DP蒟蒻}DP蒟蒻。 题目大意:给定一个矩阵,其元素均为[−127,127][-127,127][−127,127]之间的整数,求它的最大子矩阵。 解题思路: 看到网上很多的博客(几乎所有的)都是用的把问题压缩成一维动态规划来做,其实大可不必。可以直接在原矩阵上进行状态转移。我们采用: F[i,j];i∈[1,N],j∈[1,n]F[i,j];i\in[1,N],j\in[1,n]F[i,j];i∈[1,N],j∈[1,n] 来表示矩阵Ai,jA_{i,j

leo_treap的博客 406
上一篇: POJ 1611 The Suspects
下一篇: noj 1121 Message Flood
雨狮子
博客等级 码龄12年 24粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值