思路:最短路+点分治 提交:2次 错因:更新桶的时候没有重置,而直接加上了。 题解: 对于构建最短路树,我们可以先跑最短路,然后dfs一遍连边。 然后就是点分治了,还是一些桶,存点数为$x$的最长路径的条数。记得更新路径长度时桶要清零。 代码 cpp include include include ...
分类:
其他好文 时间:
2019-08-31 11:11:45
阅读次数:
114
传送门 求对于每个点删掉1到他的最短路上的最后一条边(就是这条路径上与他自己相连的那条边)后1到他的最短路的长度。 即:最短路径树:图中的源点到所有结点的最短路径构成的树。 最短路径树在dijkstra过程中就可以求出来,因为这个过程就相当于走一棵树。 然后就是选入杂边,对于一条杂边<u,v>,它加 ...
分类:
其他好文 时间:
2019-08-21 11:50:21
阅读次数:
68
OSPF(OpenShortestPathFirst开放式最短路径优先)是一个内部网关协议(InteriorGatewayProtocol,简称IGP),用于在单一自治系统(AutonomousSystem,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)算法被用来计算最短路径树。OSPF分为OSPFv2和O
分类:
其他好文 时间:
2019-06-13 10:36:09
阅读次数:
127
一、OSPF基本概念OSPF(OpenShortestPathFirst)是一个内部网关协议(InteriorGatewayProtocol,简称IGP)。与RIP相对,OSPF是链路状态路有协议,而RIP是距离向量路由协议。链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短
分类:
其他好文 时间:
2019-05-30 10:20:57
阅读次数:
148
" 传送门 " Description 给一个包含$n$个点,$m$条边的无向连通图。从顶点$1$出发,往其余所有点分别走一次并返回。 往某一个点走时,选择总长度最短的路径走。若有多条长度最短的路径,则选择经过的顶点序列字典序最小的那条路径(如路径$A$为$1,32,11$,路径$B$为$1,3,2 ...
分类:
其他好文 时间:
2019-04-06 21:38:19
阅读次数:
135
【CodeChef】Querying on a Grid(分治,最短路) 题面 "Vjudge" "CodeChef" 题解 考虑分治处理这个问题,每次取一个$mid$,对于$mid$上的三个点构建最短路径树(因为保证了最短路唯一所以是树)。 如果两点之间的最短路径跨越了$mid$,那么必定有$di ...
分类:
其他好文 时间:
2019-03-01 17:14:37
阅读次数:
236
题目描述 题解: 先要建一棵字典序最小的最短路树。 怎么建呢? 想起后缀数组,然后突然意识到可以按字典序依次搜索每一个点。 具体操作就是搜索时将可以转移到的点记录一下,然后按字典序排序,然后一个一个走。 这样最短路径树就建好了。 然后就是点分治+桶。 代码: ...
分类:
其他好文 时间:
2018-12-28 14:07:26
阅读次数:
248
做OJ需要用到搜索最短路径的题,于是整理了一下关于图的搜索算法: 图的搜索大致有三种比较常用的算法: 迪杰斯特拉算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) SPFA算法 Dijkstra算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。 ...
分类:
编程语言 时间:
2018-11-15 18:27:24
阅读次数:
229
"点此看题面" 大致题意: 给你一个无向联通图,要求你求出这张图中从u开始的权值和最小的最短路径树的权值之和。 什么是最短路径树? 从$u$开始到任意点的最短路径与在原图中相比不变。 题解 既然要求最短路径,那么最容易想到的就是$dijkstra$和$SPFA$(毕竟Floyd的时间复杂度难以承受) ...
分类:
其他好文 时间:
2018-10-29 18:30:18
阅读次数:
172
题意:给你一张带权无向图,先求出这张图从点1出发的最短路树,再求在树上经过k个节点最长的路径值,以及个数. 分析:首先求最短路树,跑一遍最短路之后dfs一遍即可建出最短路树. 第二个问题,树分治解决. 对于以root为根的树,所求的路径只会有两种情况. 1) 存在于root的子树中,不经过root; ...
分类:
其他好文 时间:
2018-10-04 10:50:07
阅读次数:
186