ACM搜索篇李浩分析.pptVIP

  • 9
  • 0
  • 约7.41千字
  • 约 47页
  • 2016-06-09 发布于湖北
  • 举报
题目来源:ACM/ICPC Regional Contest 1995 题目描述:乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段长都不超过50.现在他想把小木棍拼接成原来的样子,但是却忘记了自己最开始有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始 木棍的最小可能长度。 本题的数学模型是:给出n个数a1,a2,……,an,求出最小的k,使这n个数分成若干组,每组的和都为k。 盲目的暴力搜索必然超时!! 优化一:显然,k必须为n个数之和m的约数,只需从小到大枚举m的每个约数t(t=ai),判断t是否可能为初始木棍的长度。 优化二:按照木棍长度递减序列搜索,避免重复 优化三:一旦发现某个木棍能够填满该原始木棍,就没必要考虑用更短的木棍代替 题目来源: USACO Training Section 1.5 Checker Challenge 题目描述:求n(6=n=13)皇后可行解的总数并输出前三个。 题目中给了六个提示,分别是六个剪枝优化,基本上使用了这六个优化才能过 分析:row为行,这个提示就是排除了行冲突,因为每次出现的新皇后都必须在新的行中,同时n个皇后的分布必然是每行一个。 分析:这是个以空间换时间的方法,类似于提示1,每列都有且只有一个皇后,因此我们用一个bool数组记录此列是否已经有皇后纯在,如果有的话就进行剪枝,否则就进行搜索。 Do *

文档评论(0)

1亿VIP精品文档

相关文档