这两三天做了不少DFS,BFS题。。

首先是BFS。。

1001.赤裸裸的BFS....注意标记。。否则会MLE,RUNTIME ERROR。。BFS要占用非常多的内存。。

不断入队。而DFS。。则容易TLE,需要根据题意剪枝,回溯。

1002 诡异的楼。变换了下。。电梯方向可以根据时间的奇偶性来判断。

同是要用优先队列。。按时间从小到大排序。。

1003 knight moves..非常裸的BFS。。8个方向。处理好输入就没什么问题啦

1004 asteriods.. 三维空间的BFS。。6个方向。没有什么变化。

1005 rescue..刚开始一看题,感觉非常简单。一交wa,才明白朋友可能有多个。。应该从a搜索r..同时也要用优先队列。。选出最少时间

1006 连连看。。这题关键是要记录每个点的方向。。和转折次数。还要剪枝。。。用mark二维数组来记录每个点的转折次数。

1007 nightmare..这题不能用简单的走过的点标记。。有可能某过点经过之后再次经过。。所以可以用生命值来剪枝。

开个hash二维数组。。初始话为0.。。。起点为6,能走的点条件是它的生命值大于hash[x][y]...碰到4.重新赋值6.。。

1008 嘿嘿。这题太暴力了。。每次6种可能入队。。写的我异常烦燥。改错误该了好久。幸好最后AC了。。真的要冷静再冷静。。

DFS:

1001  这题没有奇偶剪枝。。果断TLE。。。有了奇偶剪枝。。我忘记加。。if (flag) return; 继续TLE。

1002  这题裸的。不需剪枝

1003 这题也裸。关键在如何传递参数。把参数设置好了就不会有什么问题。

1004 这题注意去重。。 if (x < i && A[x] == A[x-1]) continue; 要理解好递归函数调用机制

1005 对搜索过的点记忆下。很好的一题。。

1006 下沙下面的。需要回溯标记已访问的点。然后枚举每一种可能。然后选出最小的。

1007 和1006类似。

1008 变形课。。我把它转换成邻接矩阵来搜索。最后写了个有返回值的DFS。。一直wa..写错了悲剧。旭帮我。改成void 型就AC了。还是没有完全理解好递归函数的机制。

无论是BFS。还是DFS。。都是盲目式的搜索。枚举每一中可能。。剪枝。。找到所求解。等以后有充足时间了好好看下启发式搜索。。

转载于:https://www.cnblogs.com/tangcong/archive/2011/08/12/2136527.html

DFS BFS 总结相关推荐

  1. 【DFS/BFS】NYOJ-58-最少步数(迷宫最短路径问题)

    [题目链接:NYOJ-58] 经典的搜索问题,想必这题用广搜的会比较多,所以我首先使的也是广搜,但其实深搜同样也是可以的. 不考虑剪枝的话,两种方法实践消耗相同,但是深搜相比广搜内存低一点. 我想,因 ...

  2. POJ2308连连看dfs+bfs+优化

    DFS+BFS+MAP+剪枝 题意:       就是给你一个10*10的连连看状态,然后问你最后能不能全部消没? 思路:      首先要明确这是一个搜索题目,还有就是关键的一点就是连连看这个游戏是 ...

  3. 链式前向星模板 建图+dfs+bfs+dijkstra

    边没有用struct封装起来,节点和边的计数起点如果不符合习惯可以稍作修改 建图+DFS+BFS #include <cstdio> #include <cstring> #i ...

  4. 算法 - DFS/BFS

    DFS函数大概率会传递"位置信息",根据位置信息获取下一步的选择,(大部分是在循环中)选择.执行.回退 例如N皇后的 棋盘位置(x, y),组合问题的 idx DFS函数的目的是, ...

  5. [Leetcode][第130题][JAVA][被围绕的区域][DFS][BFS]

    [问题描述][中等] [解答思路] 1. 深度优先搜索 使用深度优先搜索实现标记操作.在下面的代码中,我们把标记过的字母 O 修改为字母 A. 复杂度 class Solution {int[] dx ...

  6. 1.5万字详述 | 全开源:python写小游戏+AI强化学习与传统DFS/BFS控制分别实现

    简介:本周的强化学习我们来到实践部分.我以我在 GitHub 上开源的项目 PiperLiu / Amazing-Brick-DFS-and-DRL 为对象,从零开始与各位朋友分享:如何用 pytho ...

  7. java bfs dfs_java优先搜索(DFS/BFS)实际应用

    深度优先搜索DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.广度优先搜索BFS是Breadth First Sear ...

  8. 洛谷 P1710 地铁涨价 (dfs+bfs)

    地铁涨价 题目描述 博艾市除了有海底高铁连接中国大陆.台湾与日本,市区里也有很成熟的轨道交通系统.我们可以认为博艾地铁系统是一个无向连通图.博艾有N个地铁站,同时有M小段地铁连接两个不同的站. 地铁计 ...

  9. ROB 第一篇 DFS BFS (寻迹算法)

    ROB 第一篇 DFS & BFS DFS & BFS 简单介绍 原理 DFS BFS 总结 DFS & BFS 简单介绍 DFS (depth first search) 和 ...

  10. 【集训】DFS/BFS专训2

    DFS/BFS专训2 文章目录 DFS/BFS专训2 A. 面积 B. 营救 C. 最少转弯问题 D. 麻将游戏 E. 门票问题 F. 奇怪的电梯(lift) A. 面积 题目描述 编程计算由&quo ...

最新文章

  1. 大数据工具篇之flume1.4-安装部署指南
  2. phpcmsv9修改表单直接在列表中显示字段方法
  3. 学长毕业日记 :本科毕业论文写成博士论文的神操作20160317
  4. 计算机视觉与深度学习 | 几种常见的卡尔曼滤波算法理论
  5. SQL Server中drop、truncate和delete语句的用法
  6. neo4j图形界面_图形处理:betweeness中心性– neo4j的密码与graphstream
  7. Xcode 指定测试设备打包IPA
  8. 【转】超现实的经典语录
  9. SLAM_kitti数据集求相机cam2到IMU的变换矩阵
  10. 毕业照还可以这样玩()
  11. 便利店收银系统多少钱一套
  12. catia二次开发:文件视图,exe,窗口切换,隐藏罗盘复位,按名称找对象,newfrom,登录,状态栏, 类型名,显示,不弹提示,workbench,不可视,部分更新,导出展开结构树,换行,元素存在
  13. 测试用例设计方法_正交实验法(游戏向)
  14. python安装numpy模块教程_python安装numpy科学计算模块
  15. wxPay微信支付订单提交提示「订单号重复」问题
  16. PHP短网址缩短源码 短网址生成系统源码
  17. MIT四足机器人MIT Cheetah的硬件框架
  18. 55个常用的JavaScript网页脚本
  19. 青竹画材创业板IPO被终止:年营收4.15亿 文投基金是股东
  20. nextcloud云搭建及教程转接

热门文章

  1. 基因组装配新前沿:长片段完成完整的基因组
  2. android入门学习-天气预报app(一)
  3. Apache配置网站根目录
  4. 关于函数,对象以及闭包的一些理解
  5. ajax返回JSON时的处理方式
  6. HDU 5646 DZY Loves Partition
  7. 关于equals和hashcode方法
  8. centos7配置haproxy
  9. HAProxy实现动静分离
  10. 寄云-Paas云服务体验