随笔分类 -  图论

摘要:Kruskal算法(加边法) 思路: 首先对边的权值从小到大进行排序,而后遍历查看每一条边,循环以下步骤: 1)若该边两端顶点分属不同连通分量,则将此边加入,之后将其两端顶点合并为同一个连通分量; 2)若该边两端顶点已属于同一连同分量,则舍弃,继续查看下一条权值最小的边。 Code: #includ 阅读全文
posted @ 2019-11-27 17:57 HOLLAY 阅读(196) 评论(0) 推荐(0)
摘要:拓扑排序 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,该排序满足这样的条件——对于图中的任意两个结点u和v,若存在一条有向边从u指向v,则在拓扑排序中u一定出现在v前面。 当且仅当一个有向图为有向无环图(DAG)时才存在 阅读全文
posted @ 2019-11-04 22:20 HOLLAY 阅读(1236) 评论(0) 推荐(0)
摘要:题意 有N(1<=N<=5000)个点,m条边(1<=M<=50000)。起点可以是任何一个入度为0的点,终点是N。求从起点到终点的所有路中,经过次数最大的一条路。输出经过次数。(规定每个点需要连接到编号更大的点,且不存在循环) 题解 该图为DAG(有向无环图),可利用拓扑排序,正反向建图分别进行两 阅读全文
posted @ 2019-10-29 20:29 HOLLAY 阅读(261) 评论(0) 推荐(0)
摘要:传送门 题意 有V个灭火点(数字1到V),这些灭火点有E条道路相互连通。现有一个消防英雄在点S,消防队分布在K个点,比较消防英雄到各个灭火点的最短路的最大值乘以系数1/C的值和消防队到各个灭火点的最短路的最大值,较小的一个获胜,输出获胜一方的最短路的最大值(若为消防英雄则输出不乘以1/C的值,平局也 阅读全文
posted @ 2019-09-08 20:48 HOLLAY 阅读(201) 评论(0) 推荐(0)