算法合集之“浅谈用极大化思想解决最大子矩形问题”.pptVIP

  • 1
  • 0
  • 约4.06千字
  • 约 45页
  • 2017-05-20 发布于北京
  • 举报

算法合集之“浅谈用极大化思想解决最大子矩形问题”.ppt

浅谈用极大化思想解决最大子矩形问题 福州第三中学 王知昆 问题:奶牛浴场 题意简述: John要在牛场中建造一个大型浴场,但是这个大型浴场不能覆盖任何一个奶牛的产奶点。John的牛场和规划的浴场都是矩形,浴场要完全位于牛场之内,并且浴场的轮廓要与牛场的轮廓平行或者重合。要求所求浴场的面积尽可能大。 参数约定:产奶点的个数S不超过5000,牛场的范围N×M不超过30000×30000。 问题的模型 最大子矩形问题: 在一个给定的矩形中有一些障碍点,要找出内部不包含任何障碍点的,轮廓与整个矩形平行或重合的最大子矩形。 定义和说明 极大化思想 两个不同的算法 针对问题的性质,可以设计出两个不同的算法。他们分别适用于不同的情况。 约定:为了叙述方便,设整个矩形的大小为N×M,其中障碍点个数为S。 算法设计 基本算法 算法:枚举上下左右四个边界,然后判断组成的矩形是否是有效子矩形。 复杂度:O(S5) 可以改进的地方: 产生了大量的无效子矩形 初步改进算法 算法:枚举左右边界,然后对处在边界内的点排序。每两个相邻的点和左右边界一起组成一个矩形。 复杂度:O(S3) 可以改进的地方: 枚举了部分不是极大子矩形的情况 算法改进 设计算法的方向: 1、保证每一个枚举的子矩形都是有效的 2、保证每一

文档评论(0)

1亿VIP精品文档

相关文档