搜索总结

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65959#status数组

大约作了一周的kuangbin带你飞搜索专题,也逐渐对搜索慢慢熟练了起来。markdown

通常的搜索就是DFS和BFSpost

DFS

DFS就用递归来写,需要注意的地方递归

  1. 递归返回时要恢复变量,递归改变和恢复的都是下一层的变量
  2. 要求输出路径的时候。我比較喜欢用son数组来记录,这样输出的时候直接顺序输出

BFS

求最小值之类的就是BFS,我一般会使用结构体队列

  1. BFS也要标记訪问,只是由于没有返回过程,因此不用恢复变量
  2. 多case问题记得要清空队列
  3. 输出路径时,由于一个节点会有多个son。因此仅仅能用father数组进行存储

其余

  1. 保存图的时候习惯用Map和vis两个数组进行存储
  2. 都要注意初始状态的标记处理,如标记訪问
  3. 写方向数组的时候有4,5,8的状况。

    5个方向就是包含自身,这个要注意ci

  4. 由于没有推断in,可能会致使訪问非法而改变n,m的值
  5. 有一类关闭灯的问题,仅仅需枚举第一行的状态,后面因此的状态就已经肯定了。仅仅需推断前一行的灯的状态
相关文章
相关标签/搜索