随笔分类 -  算法——bfs

摘要:题目 给你三个容量分别为 $a,b,c$ 的杯子,最初只有第3个杯子装满了水,其他两个杯子为空。最少需要到多少水才能让一个某个杯子中的水有 $d$ 升呢?如果无法做到恰好 $d$ 升,就让某个杯子里的水是 ${d}'$ 升,其中 ${d}' < d$ 并且尽量接近 $d$。($1 \leq a,b, 阅读全文
posted @ 2019-09-03 20:23 Rogn 阅读(472) 评论(0) 推荐(0) 编辑
摘要:题目 原题链接:https://www.nowcoder.com/acm/contest/106/L 在100000 * 10000的空地上,有n个时间点,每个时间点会在(xi,yi)上种一棵树。 定义绿色:被树包围的空地的个数。 问每个时间点之后绿色为多少。如图: 思路 逆向求解,从(0,0)位置 阅读全文
posted @ 2018-10-12 23:11 Rogn 阅读(403) 评论(0) 推荐(0) 编辑
摘要:题目 给n个点m条边(2 ≤ n ≤ 100000,1 ≤ m ≤ 200000)的无向图,每条边上都涂有一种颜色。求从结点1到结点n的一条路径,使得经过的边数尽量的少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条边可能连接两个相同的结点。输入保证结点1可以到达结点n。颜色 阅读全文
posted @ 2018-09-29 20:52 Rogn 阅读(416) 评论(0) 推荐(0) 编辑
摘要:一、题目(POJ 3984) 给出一个只有0和1组成的5x5的矩阵表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 二、解题思路 迷宫问题中的最短路多用BFS,由于要输出最短路,一般可以在更新时保存前驱节点,这里使用DFS从 阅读全文
posted @ 2018-09-16 12:17 Rogn 阅读(818) 评论(0) 推荐(0) 编辑
摘要:八数码问题是一个经典的人工智能问题。具体问题不累述了。 思路:由于存在多组测试数据,可以考虑“打表法“。所谓打表法,即枚举所有的初始情况,记录其到达终点的路径。而在这个题目中,顺序打表会调用很多次BFS,所以我们采用逆序打表,只要调用一次BFS。 代码如下: 当然,这一题还有很多很好的方法,我会慢慢 阅读全文
posted @ 2018-05-25 21:21 Rogn 阅读(399) 评论(0) 推荐(0) 编辑