
BFS
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
hdu3085 Nightmare II(双向bfs)
题目hdu3085 Nightmare II题解双向bfs类似于双向dfs,当问题有明确的“初态”和“终态”时,便可以考虑。从两个状态分别开始,两边轮流进行,各扩展一整层。运用至该题,从初始状态开始,男孩走1秒,紧接着女孩走1秒。一旦在bfs中于某个点相聚,则男孩可以和女孩汇合。代码#include<cstdio>#include<cstring&...原创 2018-09-15 23:02:44 · 314 阅读 · 0 评论 -
poj3635 Full Tank(优先队列bfs)
题目poj3635 Full Tank题解优先队列bfs设置(x,h)表示到达城市x,还有h的油时的状态,并用d[x][h]记录油钱。bfs时有两个转移方向:(y,h-c),(y,h+1)。(其中y表示下一个点,c表示边权)因为涉及迭代,所以每个状态可能会被多次访问。因为我们用优先队列维护油钱递增,所以每个点第一次访问时一定是最少油钱到达这个点。 ...原创 2018-09-15 23:05:38 · 670 阅读 · 0 评论 -
洛谷2243 电路维修(双端队列bfs)
题目洛谷2243 电路维修题解双端队列bfs建一张图,每个顶点为图中的点,每个点可以往4个方向走。如果需要改变则边权为1,否则边权为0。bfs时建立一个双端队列q。如果走边权1,则把该点塞到q尾;否则放在q头。这么做的目的是想维护bfs的“两段性”和“单调性”,只适用于边权+1\0的bfs。...原创 2018-09-15 23:06:46 · 681 阅读 · 0 评论 -
洛谷4011 孤岛营救问题(BFS)(状态压缩)
题目1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 N 行,东西方向被划分为 M 列,于是整个迷宫被划分为 N×M 个单元。每一个单元的位置可用一个有序数对(单元的行号,单元的列号)来表示。南北或东西方向相邻的 2 个单元之间可能互...原创 2018-10-18 13:47:07 · 331 阅读 · 0 评论