【算法1-7】搜索

我们在之前的章节介绍了暴力枚举策略,将所有可能的情况都枚举一遍以获得最优解,但是枚举全部元素的效率如同愚公移山,无法应付数据范围稍大的情形。本章在暴力枚举的基础上介绍了搜索算法,包括深度优先搜索和广度优先搜索,从起点开始,逐渐扩大寻找范围,直到找到需要的答案为止。

严格来说,搜索算法也算是一种暴力枚举策略,但是其算法特性决定了效率比直接的枚举所有答案要高,因为搜索可以跳过一些无效状态,降低问题规模。在算法竞赛中,如果选手无法找到一种高效求解的方法(比如贪心、递推、动态规划、公式推导等),使用搜索也可以解决一些规模较小的情况;而有的任务就是必须使用搜索来完成,因此这是相当重要的策略。

以上题单的选题来自洛谷编写教材《深入浅出程序设计竞赛 - 基础篇》,并带有详细的教程和讲解,点击下方的图片了解该图书详情。【官方网店绝赞热卖中!】>>>


  1. P1219 - [USACO1.5] 八皇后 Checker Challenge
  2. P2392 - kkksc03考前临时抱佛脚
  3. P1443 - 马的遍历
  4. P1135 - 奇怪的电梯
  5. P2895 - [USACO08FEB] Meteor Shower S
  6. P1036 - [NOIP 2002 普及组] 选数
  7. P2036 - [COCI 2008/2009 #2] PERKET
  8. P1433 - 吃奶酪
  9. P1605 - 迷宫
  10. P1019 - [NOIP 2000 提高组] 单词接龙(疑似错题)
  11. P1101 - 单词方阵
  12. P2404 - 自然数的拆分问题
  13. P1596 - [USACO10OCT] Lake Counting S
  14. P1162 - 填涂颜色
  15. P1032 - [NOIP 2002 提高组] 字串变换(疑似错题)
  16. P1825 - [USACO11OPEN] Corn Maze S