搜索总结

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

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

一般的搜索就是DFS和BFS

DFS

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

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

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

  1. BFS也要标记访问,不过由于没有返回过程,所以不用恢复变量
  2. 多case问题记得要清空队列
  3. 输出路径时,由于一个节点会有多个son,所以只能用father数组进行存储
其它
  1. 保存图的时候习惯用Map和vis两个数组进行存储
  2. 都要注意初始状态的标记处理,如标记访问
  3. 写方向数组的时候有4,5,8的情况。5个方向就是包括自身,这个要注意
  4. 由于没有判断in,可能会导致访问非法而改变n,m的值
  5. 有一类关闭灯的问题,只需枚举第一行的状态,后面所以的状态就已经确定了。只需判断前一行的灯的状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值