![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
lleozhang
这个作者很懒,什么都没留下…
展开
-
noip 2013 华容道
玄学的搜索与建图... 首先经过分析,可以得出几个结论: ①.移动棋子等价于移动空格 原因:如果一个棋子可以移动,那么这个棋子一定是和旁边的空格交换了位置,所以也就相当于是移动空格 ②.有价值的图的状态是有限的 原因:我们的目标是把起始棋子移到结束位置上,那么如果能够移动起始棋子,一定是把空格移到了起始位置旁边,那么根据结论①,我们只需把这个状态转移到空格子在目标位置附近就完成任务了! ...原创 2018-08-18 13:41:14 · 312 阅读 · 0 评论 -
CF 1051F
题意:给定一张n个点,m条边的无向联通图,其中m-n<=20,共q次询问,每次询问求给定两点u,v间的最短路长度 第一眼看见这题的时候,以为有什么神奇的全图最短路算法,满心欢喜的去翻了题解,发现就四个字“树上套环”! 其实这题的提示很明显:m-n<=20! 这说明,如果我们对这个图做一次生成树,那么非树边最多只会有20条! 那么,我们在求任意两点间最短路时,可以分类讨论进行: ...原创 2018-10-16 16:47:07 · 221 阅读 · 0 评论 -
CF1005F
这题不错... 首先,不难看到他想让你求出的是最短路树 然后,考虑到所有边权均为1,所以可以采用bfs直接生成最短路树 至于方案的储存,可以在加边的时候同时记录边的编号,然后对每个点维护一个能转移他的最短路的边的编号的集合,这样总的方案数就是所有的集合大小的乘积 然后用dfs在每个集合中选一个元素输出即可 #include <cstdio> #include <cma...原创 2018-10-23 20:50:43 · 209 阅读 · 0 评论