最短路
文章平均质量分 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 · 131 阅读 · 3 评论 -
51nod2933 网络吞吐量
题目题目链接解题思路这是一道简单的二合一题。首先,题目说只能走最短路径。我们先求出1到所有点的最短路径,依此判断每条边是否是松弛边。其次,处理器有处理上限。我们将处理器拆成入端和出端,入端向出端连容量为处理能力的边,所有松弛边权值算无穷。对这个图跑最大流即可。代码#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <que原创 2021-03-16 18:43:48 · 94 阅读 · 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 · 174 阅读 · 2 评论