最大子矩的枚举方法.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最大子矩的枚举方法

* * * * * * * * * * * * * * * * * * * * * * 算法2 递推关系 如果(i-1,j)为障碍点,那么,如图所示,(i,j)对应的悬线长度1,左右能移动到的位置是整个矩形的左右边界。 即 H[i,j]=1, L[i,j]=0,R[i,j]=m (i-1,j):障碍点 (i,j):当前点 R[i,j] L[i,j] H[i,j]=1 算法2 递推关系 如果(i-1,j)不是障碍点,那么,如图所示,(i,j)对应的悬线长度为(i-1,j)对应的悬线长度+1。 即 H[i,j]=H[i-1,j]+1 (i-1,j):非障碍点 (i,j):当前点 某个障碍 算法2 递推关系 如果(i-1,j)不是障碍点,那么,如图所示,(i,j)对应的悬线左右能移动的位置要在(i-1,j)的基础上变化。 L[i-1,j] L[i,j]=max (i-1,j)左边第一个障碍点的位置 (i,j):当前点 某个障碍 L[i-1,j] L[i,j] (i-1,j) 算法2 递推关系 同理,也可以得到R[i,j]的递推式 R[i-1,j] R[i,j]=min (i-1,j)右边第一个障碍点的位置 L[i,j] R[i,j] H[i,j] 点(i,j) 算法2 优劣分析 算法2的时间复杂度为O(NM),空间复杂度为O(S)。 优点: 复杂度与障碍点个数没有直接关系。 缺点:障碍点少时处理较复杂,不如算法1 两个不同的算法 算法1 时间复杂度:O(S2) 空间复杂度:O(S) 优点:复杂度可以接受,编程实现简单 缺点:使用有一定的局限性,不适合障碍点较密集的情况。 算法2 时间复杂度:O(NM) 空间复杂度:O(S) 优点:复杂度与障碍点个数没有直接关系。 缺点:障碍点少时因为要离散化处理,实际复杂度较高。 推广1 最大权值子矩形问题 最大权值子矩形问题 模型:在一个带权(正权)矩形中有一 些障碍点,找出一个不包含障碍点 的最大权值子矩形。 分析:在一个正权值的矩形中的最大权值子矩形一定是极大子矩形。所以,问题实际上可以依据极大化的思想,利用前面的方法解决。 推广2 最大子正方形问题 最大子正方形问题 模型:在一个矩形中存在S个障碍点,要 求找出最大的不包含障碍点的正方 形。 分析:在一个有障碍点的矩形中的最大有效子正方形一定是一个极大有效子正方形。 推广2 最大子正方形问题 极大子正方形的性质: 每一个极大子正方形都至少被一个极大子矩形包含,且这个极大子正方形一定有两条不相邻的边与包含它的极大子矩形的边重合。 推广2 最大子正方形问题 解决方法:通过枚举每一个极大子矩形找出所有的极大子正方形。 每个极大子矩形对应的极大子正方形可能有多个,但大小都一样。 推广2 最大子正方形问题 解决方法:通过枚举每一个极大子矩形找出所有的极大子正方形。 每个极大子矩形对应的极大子正方形可能有多个,但大小都一样。 推广2 最大子正方形问题 解决方法:通过枚举每一个极大子矩形找出所有的极大子正方形。 每个极大子矩形对应的极大子正方形可能有多个,但大小都一样。 …… * * * * * * * * * * * * * * * * * * * * 题意简述: John要在牛场中建造一个大型浴场,但是这个大型浴场不能覆盖任何一个奶牛的产奶点。John的牛场和规划的浴场都是矩形,浴场要完全位于牛场之内,并且浴场的轮廓要与牛场的轮廓平行或者重合。要求所求浴场的面积尽可能大。 参数约定:产奶点的个数S不超过5000,牛场的范围N×M不超过30000×30000。 问题:奶牛浴场 最大子矩形问题: 在一个给定的矩形中有一些障碍点,要找出内部不包含任何障碍点的,轮廓与整个矩形平行或重合的最大子矩形。 问题的模型 定义和说明 定义有效子矩形为内部不包含任何障碍点的,边界与坐标轴平行的子矩形。 如下图所示,第一个是有效子矩形,第二个不是。 定义和说明 定义极大子矩形为每条边都不能向外扩展的有效子矩形。 定义最大子矩形为所有有效子矩形中最大的一个(或多个)。 极大化思想 在一个有障碍点的矩形中的最大子矩形一定是一个极大子矩形。 设计算法的思路:通过枚举所有的极大子矩形,找出最大子矩形。 两个不同的算法

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档