dfs、bfs搜索题型小结

文章介绍了全排列、组合的计算方法,包括剪枝优化的DFS策略,以及一选多、迷宫问题的解决方案,如找零钱、子集和、工作分配等。此外,还探讨了连通块的计算,包括DFS和BFS在图上的应用,以及并查集解决连通性问题的例子。

在这里插入图片描述

一、全排列

(1)1199:全排列

原题链接
解析

(2)剪枝思想

满足等式关系的全排列——dfs+剪枝

(3)P1088 [NOIP2004 普及组] 火星人

原题链接
解析

二、组合(选与不选)

(1)1317:【例5.2】组合的输出

原题链接
解析

(2)7-38 找零钱

7-38 找零钱***——组合型选与不选

(3)7-42 子集和问题——组合子集

7-42 子集和问题——组合子集

三、一选多

(1)P2392 kkksc03考前临时抱佛脚

原题链接
解析

(2)7-43 最佳调度问题

7-43 最佳调度问题

(3)7-45 工作分配问题

7-45 工作分配问题

(4)P1135 奇怪的电梯

题目链接
解析

四、迷宫型

(1)P1605 迷宫(求方案数)

原题链接
解析

(2)1219:马走日(求方案数)

这里用dfs解决,下面有一个bfs解决方法;
原题链接
解析

(3)1215:迷宫(判断是否可达)

这种问题就不需要回溯;
原题链接
解析

(4)1212:LETTERS(找所有可达路径中能达到的最大价值)

原题链接
解析

(5)1216:红与黑(找所有可达路径的价值总和)

原题链接
解析

(6)T1212 仙岛求药(最短路问题,到达终点的最小代价)

最短路问题,一般采用bfs比较好;想用dfs解决的话,需要剪枝;
原题链接_计蒜客
原题链接_信奥
解析

(7)P1443 马的遍历(最短路问题—BFS)

原题链接
解析

(7)P1825 [USACO11OPEN]Corn Maze S(最短路问题—BFS)

原题链接
解析

(8)P2895 [USACO08FEB]Meteor Shower S(最短路问题—BFS)

原题链接
解析

(8)P1162 填涂颜色(BFS模板)

原题链接
解析

(9)状压BFS

下面这几道涉及到状态压缩,比普通的题会稍微复杂一点;
T1214 鸣人和佐助

7-54 孤岛营救问题——状压bfs+三维标记

T1215 拯救公主——bfs+三维数组标记+二进制状态压缩

五、连通块

(1)1335:【例2-4】连通块(dfs、bfs)

求连通块数量,可以顺便求一下连通块中的最大数量;
原题链接
解析

(2)P1596 [USACO10OCT]Lake Counting S

求连通块数量
原题链接
解析

(3)水儿的绘画

求连通块数量(此题默认只有两个),连通两个连通块
水儿的绘画

(4)L2-013 红色警报 (25 分)(并查集解决连通块)

当然求连通块也可以用并查集来做,下面提供一个例题
题目链接
解析

六、图上的简单应用

(1)P5318 【深基18.例3】查找文献——dfs+bfs遍历图

题目链接
解析

(2)7-53 生化危机——图上跑dfs

7-53 生化危机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向上的yyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值