BFS
_Warning_
这个作者很懒,什么都没留下…
展开
-
CSU1232 懒汉的旅行(BFS)
这道题搁置了很久了……这几天终于想起来把它做了一下,发现有很多小细节没有注意到,WA了好多发,在这里记录一下。 题目是这样的: 题目思路: 其实看着它的数据量这么小,就能想到BFS或者DFS(要不然出题人不会这么心慈手软的哭)。根据题目所述,这是一个图上的BFS问题,我们随着懒汉的路径走一遍,由于我们要求的跟加油次数、加油量有关系,所以重点关注这两个量。可以发现,每走到一个城市...原创 2020-03-08 16:08:43 · 171 阅读 · 0 评论 -
CSU - 2031 Barareh on Fire(BFS 预处理)
这个题很久以前就看到过,一直觉得好麻烦不想写,今天终于下定决心……花了两个多小时,总算是理解了。 题目戳我 题目大意: 给你一个NxM的方格,有一些格子已经着火了,一个人在s处,如果他能跑到t除就可以成功获救。人只能向东、西、南、北四个方向跑,而火经过时间t就会向东、西、南、北、东北、西北、东南、西南八个方向蔓延,使相邻的八个格子都着火,并且一旦着火,火就不会熄灭。问你最少经过多久这...原创 2018-07-30 18:22:25 · 160 阅读 · 0 评论 -
POJ - 1753 Flip Game (BFS+位运算)
位运算可真是个好东西~ 题目大意:题目题目 有一个4*4的黑白棋盘,棋盘上有黑子有白子,每次选取一个子后可以把它和它周围的四个子的颜色翻转,使它们从黑变成白或者从白变成黑。问你至少要多少操作可以使棋盘上全为黑子或者全为白子。 题目思路: 题目中固定了是4*4的棋盘,如果用二进制数字表示棋盘的状态,比如黑子为“1”,白子为“0”,那么一共有1<<16个状态,并...原创 2018-07-30 18:45:59 · 197 阅读 · 0 评论 -
CSU - 1726 你经历过绝望吗?两次!(优先队列BFS)
题目大意:题目戳我 翻译过来就是“猪坚强”走出去,但是经过“."时不需要花费步数,而经过“*”需要花费一步,“#”表示障碍。 题目思路: 因为步数不一样,考虑用优先队列来保存经过的步数,每次步数小的先出队; 收获: 在结构体里重载优先队列的运算符时,只能对"<"号进行重载,不然会报错; struct COO { int x,y; ...原创 2018-07-30 18:55:31 · 179 阅读 · 0 评论 -
HDU - 2717 Catch That Cow(BFS板题)
题目思路: bfs的模板题 戳我戳我 题目代码: #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<cmath> #define maxn 1000000 using namespace std; int vi...原创 2018-07-30 18:57:44 · 145 阅读 · 0 评论 -
HDU - 1429 胜利大逃亡(续)(状态压缩+bfs)
中文题目不再对题意进行说明; 之前一直懒不想写这道题,结果今天的测验里居然就出了跟这个一样的HDU-1885(见下面),嘤嘤嘤,真的不能偷懒…… 题目思路:题目戳我戳我 这道题跟一般的bfs模板题唯一的区别就是不仅仅是“可通”或者“不可通”的状态,多了一些“门”,拿到钥匙就是可通的。所以我们就多了一个判断条件,就是遇到门并且此时有钥匙这一步才能加入队列(另外的条件比如不能越过...原创 2018-08-01 15:36:39 · 133 阅读 · 0 评论