国家集训队2003论文集 金恺.pptVIP

  • 0
  • 0
  • 约2.74千字
  • 约 27页
  • 2017-08-18 发布于安徽
  • 举报
探寻深度优先搜索中的优化技巧 ——从正方形剖分问题谈起 长沙市长郡中学 金恺 正方形剖分问题 问题描述: 将n ×n 个小格组成的大正方形分割成若干个较小的整数边长的正方形,要求分成的小正方形数目最小。 范围:1≤n≤32。 编程环境:FreePascal。可用64MB空间 n=7时的一个最小数目的剖分方案,需要9个小正方形。 分析 当n为偶数时最少需要4个小正方形: 1 2 3 4 n/2 n/2 n/2 n/2 当n为奇数时,很难发现有什么数学规律。 设fi,j表示一个i×j的矩形最少可以被剖分成多少个小正方形: n=7时,求出结果为10,并不是最优值。原因:最优方案不一定能被某条直线分割。 i j k j-k i j k i-k 0 1 2 3 1 1 1 1 1 相差 15 16 31 14 16 29 13 16 23 13 14 19 13 14 17 11 12 13 11 12 11 9 10 7 相同 其他 最优值 fn,n n fn,n仅是一个可行解,不过其值与最优解十分接近的。 目前只能用搜索! 优化:搜索之前先用上述动态规划方程求出一个较优值,限制搜索层次。 搜索量巨大,仅用这一条优化,效率十分低下。 如何搜索? 搜索的对象和顺序 从大量的搜索题(比如说IOI的Depot等)可以看出,搜索的顺序和对象是十分重要的,本题应该用什么作为搜索对象,搜

文档评论(0)

1亿VIP精品文档

相关文档