动态规划------最大子方阵问题

ArcGIS 10.4 Desktop安装步骤。 步骤 1 :安装 LicenseManager 有了安装包以后,我们进入安装包文件目录,如图所示,首先需要安装ArcGIS license manager,即点击打开图中红色框中exe文件。 PS:安装 LicenseManager,关于 License 的安装路径一般默认即可,因为很小的,装C 盘也无所谓了,当然了自己改了也可以的,但是不建议! 即便修改路径,建议只改盘符,不修改相对路径方式! 如:C:\Program Files (x86)\ArcGIS\License10.6 修改为 D:\. 阅读详情

题目:

给定一个 n*n 的矩阵 A,矩阵中的元素只取 0 或者 1。设计一个动态规划算法,求解得到 A 中元素全是 1 的子方阵使其阶数达到最大值。

这个题我没想到方法,但是百度文库查到了学长的做法,拿到这里分享一下,希望学长不要追究啊~~~

分析:其实求解的时候当成m*n的矩阵做就行了。

设n阶矩阵表示为A[1...n][1....n],B[i][j]表示前i行前j列所包含的1的个数。

最优子结构:C[i][j]表示前i行和前j列全为1的最大子方阵,那么显然C[i][j]等于max{C[i][j-1],C[i-1][j],包含A[i][j]的最大的全1子方阵的大小}.这里只要解决了最后一项,这个问题就解决了。这里需要用到一个公式:


因此,先求得C【i】【j-1】和C【i-1】【j】的最大值max,然后从B【i-max】【j-max】往回找就行了。

伪代码:

利用自下向上的动态规划算法就可以了,其中B和C分别用数组记录。

先遍历第一行,再遍历第二行,然后....直到第n行,按照这个遍历方式就行。具体代码不写了....懒..

零基础搭建机械零件检测系统:基于YOLOv8的PySide6可视化开发全攻略 本文详细介绍了如何从零开始搭建基于YOLOv8的机械零件检测系统,涵盖环境配置、数据集准备、模型训练优化及PySide6可视化界面开发全流程。通过实战案例展示YOLOv8在工业检测中的高效应用,帮助开发者快速实现自动化零件检测解决方案。 阅读详情

相关推荐

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)。再后面的若干行中,依次(首先从左到右给出第一行的...

lybc2019的博客 1142

最大矩阵(动态规划

题目描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是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 &lt; N &lt;= 100)。 再后...

sunshine_lyn的博客 3540

Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)-完整部署记录(个人珍藏版)

本篇文章十分详细地记录了Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)的部署全过程,可作为线上实操手册。特在此分享,希望能帮助到有用到的朋友。

动态规划最大矩阵(穷举法、记忆化、DP)

动态规划最大矩阵 在DP问题中有一种叫最大矩阵问题,刚好碰到了这一题,于是学习分享之。 让我们先来看一下题目: http://ybt.ssoier.cn:8088/problem_show.php?pid=1282 题目分类:动态规划 题目大意:就是输入一个N*N的矩阵,找出在矩阵中,所有元素加起来之和最大矩阵。 例如在 0 -2 -7 0 这样一个4*4的矩阵中,元素之和最大...

zgwzgw的博客 1245

最大方矩阵

Maximal Square 问题描述: 给定矩阵,矩阵中的元素为0或者1; 找出最大矩阵:该矩阵中所有的元素都为1,且为方阵

hellotomhaha的博客 636

368. 最大整除

给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除集 answer ,集中每一元素对 (answer[i], answer[j]) 都应当满足: answer[i] % answer[j] == 0 ,或 answer[j] % answer[i] == 0 如果存在多个有效解集,返回其中任何一个均可。 示例 1: 输入:nums = [1,2,3] 输出:[1,2] 解释:[1,3] 也会被视为正确答案。 示例 2: 输入:nums = [......

m0_62396648的博客 292

Leetcode 01矩阵中的最大方阵

对于01矩阵中的最大矩阵,其动态规划思路为: dp[i][j]=1+min(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1])) 求解以(i,j)为右下角的最大矩阵(并且该矩阵内全为1) 新的问题方阵只要求四条边为相同元素): 题目描述 有一个方阵,其中每个单元(像素)非黑即白(非0即1),请设计一个高效算法,找到四条边颜色相同的最大方阵。 给定一个01方阵mat,同时给定方阵的边长n,请返回最大方阵的边长。保证方阵边长小于等于100。 测试样例..

一只老风铃 1892

最大阵与最大矩阵--Java语言

本文主要讲的是关于矩阵的方阵问题,典型题型有:所有元素为1的最大方阵最大矩阵。 首先先讲述的是所有元素为1的最大方阵。可以利用动态规划方法求解该问题。用B[m][n]表示二元矩阵。算法的思想是构造一个临时矩阵res[][],其中res[i][j]表示包括B[i][j]在内的值全为1的方阵的大小,B[i][j]是该方阵最右下角的元素。因此,初始时,res第一行与第一列的值即为B矩阵

carson0408的博客 3541

面试题 17.23. 最大方阵

面试题 17.23. 最大方阵c++题解面试题 17.23. 最大方阵示例 1:题解:题解思路 面试题 17.23. 最大方阵 给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大方阵。 返回一个数组 [r, c, size] ,其中 r, c 分别代表方阵左上角的行号和列号,size 是方阵的边长。若有多个满足条件的方阵,返回 r 最小的,若 r 相同,返回 c 最小的方阵。若无满足条件的方阵,返回空数组。 示例 1: 输入: [ [1,0,1],

weixin_43442427的博客 305

HDU 2859 简单dp 最大对称方阵

要求:一个n*n的字符矩阵,求一个满足以左下角元素和右上角元素练成的对角线为对称轴的最大方阵边长。 方法:简单dp 1.状态:dp[i][j]表示以第i行第j列元素为方阵的左下角元素的满足题意的最大矩阵边长。 2.状态转移方程为:dp[i][j] = min(dp[i-1][j+1] , m + 1)。    m:(i,j)到(0,j) 和 (i,j)到(i,n-1)的最大相同元素。...

Irving0323的博客 291

221. 最大正方形 与 面试题 17.23. 最大方阵

为什么把这两个写在一起,就是因为他们很像,又很不一样。 221 最大正方形 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 1: 输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]] 输出:4 示例 2: 输入:matrix = [[“0”,“1”],[“1”,“0”]] 输出:1 示例 3: 输入:ma

A843151774的博客 313

面试题 17.23. 最大方阵 java

leetcode link 给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大方阵。 返回一个数组 [r, c, size] ,其中 r, c 分别代表方阵左上角的行号和列号,size 是方阵的边长。若有多个满足条件的方阵,返回 r 最小的,若 r 相同,返回 c 最小的方阵。若无满足条件的方阵,返回空数组。 示例 1: 输入: [ [1,0,1], [0,0,1], [0,0,1] ] 输出: [1,0,2] 解释: 输入中 0

Hireek的博客 320

求整形矩阵的最大矩阵

1求矩阵的最大字串和

m0_47013706的博客 455

算法设计与分析基础 第八章谜题

习题8.1 6.切割木棍问题 为下列问题设计一个动态规划算法。已知小木棍的销售价格pi和长度i相关,i=1,2,…,n,如何把长度为n的木棍切割为若干根长度为整数的小木棍,使得所获得的总销售价格最大?该算法的时间效率和空间效率各是多少? 解答:令长度为n的木棍能获得的最大价格为profit[n],递推公式为:profit[n] = max(pi[i] + profit[length - seg...

勤奋乐观的博客 6968

【To Do】程序员面试金典——18.11最大方阵

程序员面试金典——18.11最大方阵 Solution1:我的答案。最笨的方法,时间复杂度是O(n3)O(n3)O(n^3) class SubMatrix { public: int maxSubMatrix(vector&lt;vector&lt;int&gt; &gt; mat, int n) { //穷举法??复杂度有点高欧~ // write code he...

Allenlzcoder的博客 431

算法-动态规划-最大矩阵

输入的第一行是整数N,即表示要输入一个N * N的整数矩阵。接下来是N^2 个整数,每个整数之间被空格或者空行分开,这些整数即为矩阵中的数,按照列优先的顺序排列,即第一行整数从左至右输入,第二行从左至右输入…一个矩阵的和就是矩阵中所有元素求和,最大矩阵就是所有矩阵中和最大的那个字矩阵。因为取的是矩阵,肯定是竖着一列都取的,不可能这一列取到第i个元素,上一列取到第i-1个元素,这样我们就可以把要求的两行,两两加起来。这样求出的最大连续序和是9,这个结果也就是这个矩阵对应的最大矩阵和。

2301_77204575的博客 547

java最大方阵_【算法设计】最大矩阵问题

一,最大矩阵问题:给定一个n*n(0Example:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其中左上角的矩阵:9 2-4 1-1 8此矩阵的值为9+2+(-4)+1+(-1)+8=15。二,分析矩阵是在矩阵选取部份行、列所组成的新矩阵。例如它亦可用A(3;2)表示,显示除掉第3行和第2列的余下的矩阵。这两种方法比较常用,但还是没有标准的方法表示...

weixin_29500837的博客 857

动态规划专题(一):求最大矩阵和并找到所有最优矩阵

最大序列和   在开始求解最大矩阵和之前,先来看最大序列和。   使用动态规划求解最大序列和并不难,其最关键的状态转移方程比较容易理解: result[index]={result[index−1]+array[index]result[index−1]>0array[index]result[index−1]≤0result[index] = \begin{cases} res...

qq_39031359的博客 1225

动态规划--最大矩阵

总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是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 这个矩阵的大小

a1046765624的博客 605

【算法】最大矩阵——悬线法

悬线法思路:悬线的定义,就是一条竖线,这条竖线要满足上端点在整个矩形上边界或者是一个障碍点。然后以这条悬线进行左右移动,直到移至障碍点或者是矩阵边界,进而确定这条悬线所在的极大矩阵。我们定义hijh[i][j]hij表示点ij(i,j)ij的悬线的长度。(及以点ij(i,j)ij,为边界的最大矩阵的宽)lijl[i][j]lij表示点ij(i,j)ij的悬线往左最长能延伸到哪。rijr[i][j]rij表示点ij(i,j)ij。

conti123的博客 860

详解如何求解最大矩阵

最近在学dp(dynamic programming:动态规划)的时候遇到了一道最大矩阵的问题,当时即使学了最大序列和,但看到这个问题时还是无从下手,不知道如何确定最大矩阵,然后去看别人的代码,还是有点看不懂别人在写啥,所以这篇博客记录自己对这个问题理解~

weixin_59699198的博客 1695
上一篇: 博弈 郑子豪1160300929
下一篇: 网络流量与布雷斯悖论 1160300929 郑子豪
E__T
博客等级 码龄10年 9粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值