随笔分类 -  广搜

摘要:题解 该题,内存消耗是比较大的,因为你要开至少接近 40 M的内存空间,但是对于一般机器而言还是撑得住的。 该题单纯的 dfs 是很慢的,且容易算错,所以 bfs 是一个比较好的方法,每隔一分钟所有点就向外扩展一次,然后打个标记,而统计向外扩展的次数可以在每个点预设一个值,代表它是第几次被扩展到的, 阅读全文
posted @ 2020-11-15 20:18 Fool_one 阅读(1113) 评论(0) 推荐(0)
摘要:题解 当你第一次看到这个题的时候,你会想到什么算法呢? 当要求最小步数的时候,很显然,最快想到应该是 bfs,而非其它算法,这里需要注意一点的是,从时刻 m1 到 m2,我们需要求解的是时刻差,而与具体时刻是没有关系的,此时我们就可以从 0 开始,到其它任意时刻,是可以少一重循环的。 另外 bfs( 阅读全文
posted @ 2020-11-12 16:41 Fool_one 阅读(231) 评论(0) 推荐(0)
摘要:题解 这一题的正解是邻接表 + bfs。 如果不用邻接表,而用邻接矩阵,在bfs搜索时,会出现大量的无用搜索,因为你也不知道a - b是否相连,所以你就要枚举1 - n来判断是否和a相连就造成了TLE了。 然后有一个细节,我卡了很久,我是直接按照搜索层次求该层的最小值,但是有一个答案Error了,但 阅读全文
posted @ 2020-10-25 22:27 Fool_one 阅读(128) 评论(0) 推荐(0)