![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
BFS
文章平均质量分 74
BFS
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
dfs、bfs搜索题型小结
最短路问题,一般采用bfs比较好;想用dfs解决的话,需要剪枝;下面这几道涉及到状态压缩,比普通的题会稍微复杂一点;求连通块数量,可以顺便求一下连通块中的最大数量;求连通块数量(此题默认只有两个),连通两个连通块。当然求连通块也可以用并查集来做,下面提供一个例题。这里用dfs解决,下面有一个bfs解决方法;这种问题就不需要回溯;原创 2023-01-07 14:39:14 · 1019 阅读 · 0 评论 -
7-54 孤岛营救问题——状压bfs+三维标记
1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 n 行,东西方向被划分为 m 列,于是整个迷宫被划分为 n×m 个单元。每一个单元的位置可用一个有序数对 (单元的行号, 单元的列号) 来表示。南北或东西方向相邻的 2 个单元之间可能互通,也可能有一扇锁着的门,或者是一堵不可逾越的墙。原创 2022-12-14 12:53:12 · 504 阅读 · 0 评论 -
1335:【例2-4】连通块——dfs、bfs
题目描述】一个n × m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该联通块中的其它黑色格子。【输入】第一行两个整数n,m(1≤n,m≤100),表示一个n × m的方格图。接下来n行,每行m个整数,分别为0或1,表示这个格子是黑色还是白色。【输出】一行一个整数ans,表示图中有ans个黑色格子连通块。......原创 2022-08-12 21:01:21 · 2898 阅读 · 2 评论 -
P1825 [USACO11OPEN]Corn Maze S——bfs
奶牛们去一个N×M玉米迷宫,2≤N≤300,2≤M≤300。迷宫里有一些传送装置,可以将奶牛从一点到另一点进行瞬间转移。这些装置可以双向使用。如果一头奶牛处在这个装置的起点或者终点,这头奶牛就使用这个装置。玉米迷宫除了唯一的一个出口都被玉米包围。#.AZ=@奶牛能在一格草地上可能存在的四个相邻的格子移动,花费1个单位时间。从装置的一个结点到另一个结点不花时间。原创 2022-11-07 15:27:28 · 300 阅读 · 0 评论 -
P1032 [NOIP2002 提高组] 字串变换——dfs、bfs
本题疑似错题,不保证存在靠谱的多项式复杂度的做法。测试数据非常的水,各种做法都可以通过,不代表算法正确。因此本题题目和数据仅供参考。原创 2022-11-07 12:11:40 · 308 阅读 · 1 评论 -
P2895 [USACO08FEB]Meteor Shower S——bfs
贝茜听说了一个骇人听闻的消息:一场流星雨即将袭击整个农场,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,贝茜开始担心自己的安全问题。以 Farmer John 牧场中最聪明的奶牛的名誉起誓,她一定要在被流星砸到前,到达一个安全的地方(也就是说,一块不会被任何流星砸到的土地)。如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。根据预报,一共有M颗流星(1≤M≤50,000)原创 2022-11-02 12:50:19 · 235 阅读 · 0 评论 -
P1443 马的遍历——bfs
有一个n×m的棋盘,在某个点(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。原创 2022-11-01 16:48:12 · 387 阅读 · 0 评论 -
T1215 拯救公主——bfs+三维数组标记+二进制状态压缩
以及统计宝石,刚开始想的是visStone[10];//宝石的种类是否出现过,然后进行判断,是否累加1种新宝石,但是这样不对;思路和上面一模一样,不知道为啥硬是过不去,找了一天多都没发现哪里错了,有发现错的大佬可以评论我一下;原创 2022-10-17 12:15:16 · 405 阅读 · 0 评论 -
T1214 鸣人和佐助——dfs、bfs
佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?原创 2022-10-14 13:41:39 · 334 阅读 · 1 评论 -
P1162 填涂颜色 java_bfs
分析此题我们可以用bfs,题意就是把被1包围的部分改为2,故我们可以把1理解为墙,不能通过1往后搜索,通过vis数组去记录哪些点未被访问,最后我们可以通过map的值是否0加上是否访问过,即可确定吐的范围;数组的周围加一个框,就是方阵的行、列有效范围是从1到n, 但我们从0,0开始搜索,可以避免遇到方阵的第一个点就是1,直接堵死了,无路可走;关于四个方向走的问题,我们可以通过一个四层for循环加上x、y的偏移量数组去简化问题;import java.util.LinkedList;impor..原创 2022-03-24 20:57:13 · 405 阅读 · 0 评论 -
T1213 拯救行动——dfs、bfs
此题是求最短时间,需要用最短路bfs的形式,无回溯比较快;正常情况下最先搜到的一定最优,但此题存在守卫,有的边权是+2,可能bfs后面搜到的会更优,所以采用小根堆,改变排序规则;bfs也是需要vis的,放过的点就不用重复放进队列了,也不用回溯;最短路还是用bfs吧,虽然dfs用着爽,但是遇次题,超一次;原创 2022-10-14 09:38:32 · 401 阅读 · 0 评论