今天接着刷kuangbing的图论专题,最小生成树部分。
这个第一道是昨天遗留的一道最短路的题
用正反向存图+2次Dijkstra,数据量很大,所以要用堆优化
一开始用vector前向星存图+dijkstra+优先队列(堆优化) TLE
然后换vector前向星存图+spfa TLE
最后用链式前向星存图+dijkstra+优先队列才ac
还看了一个新的最小生成树算法:Boruvka 算法
在初始的时候他先把所有的点各自当作一个连通块,然后向外拓展一条边,这条边是这个连通块连接上外部连通块的最小的那条边,如果能够做一次这样的操作,就可以在所有连通块都做完之后继续向外拓展,直到最后只剩下一个连通块就是一个最小生成树了。感觉跟前两种也差不多,更像是前两种算法的结合。
做了个对应的模板
一道DP
2021.7.13
最新推荐文章于 2022-08-30 17:40:16 发布