
最短路
文章平均质量分 53
范艺杰
这个作者很懒,什么都没留下…
展开
-
51nod1702 卡牌游戏
题面 题目链接 解题思路 最朴素的想法是将图建出来跑最短路。 观察后发现如下两条性质: 1.边权是1,可以用广度优先搜索代替最短路。 2.因为是广度优先搜索,每条边只会被松弛一次。 但是图的大小可能是n2n^2n2级别的。我们考虑使用线段树维护隐式图来支持搜索。 复杂度O(nlog2n)O(nlog_2n)O(nlog2n)。 代码 #include <cstdio> #include <algorithm> #include <cstring> #include &原创 2021-03-23 10:50:19 · 153 阅读 · 3 评论 -
51nod2933 网络吞吐量
题目 题目链接 解题思路 这是一道简单的二合一题。 首先,题目说只能走最短路径。我们先求出1到所有点的最短路径,依此判断每条边是否是松弛边。 其次,处理器有处理上限。我们将处理器拆成入端和出端,入端向出端连容量为处理能力的边,所有松弛边权值算无穷。对这个图跑最大流即可。 代码 #include <cstdio> #include <algorithm> #include <cstring> #include <vector> #include <que原创 2021-03-16 18:43:48 · 119 阅读 · 0 评论 -
51nod2943 旅行者
问题描述: 题目链接 解题思路: 首先指出题目数据范围有问题,有n*m<=20000的数据范围没有指出。 令S=n∗mS=n*mS=n∗m,考虑递归的处理。每次选择较长边进行切割,并枚举切割边上的点当作源点跑最短路,并解答询问。因为切割的是长边,源点不超过S\sqrt{S}S。然后将询问递归到两个子矩形解决。 所以我们可以写出递归方程T(S)=2T(S/2)+SSlog2ST(S)=2T(S/2)+S\sqrt{S}\log_2ST(S)=2T(S/2)+SSlog2S,根据主定理T(S)=原创 2021-03-11 21:27:37 · 214 阅读 · 2 评论