随笔分类 -  图论——拓扑排序&强连通分量

摘要:一道鬼畜的题目,洛谷给的标签是紫题,怎么可能是紫题…… 原本我想找出在起点到终点的路径上的割点,但是看到了这良心的数据之后…… 由于数据很小,所以我们枚举中间点,然后进行一遍dfs,判断不经过这个中间点这张图是否联通即可。 这就能过?? 是的……时间复杂度为O(n2) 1 #include <ios 阅读全文
posted @ 2019-05-04 10:39 AD_shl 阅读(234) 评论(0) 推荐(0)
摘要:这是tarjan求割点的模板题,在此tarjan算法不在赘述,主要讲一些易错点。 首先这张图不一定是连通图,所以我们不能直接从1开始dfs 注意tarjan算法中的一些细节。 注意输出格式!!! 1 #include <iostream> 2 #include <cstdio> 3 #include 阅读全文
posted @ 2019-05-04 10:10 AD_shl 阅读(146) 评论(0) 推荐(0)
摘要:这道题是在基本的tarjan求割点的算法上进一步加深,加上了计数问题。 基本思路是显然的,我们必定要跑一遍tarjan求割点,之后我们就要分类讨论。 若这个点不是割点,那么把他的边去掉之后这个点就与原来的联通块分开了,一共有(n-1)对,因为(x,y),(y,x)算两对,所以答案为n-1<<1 若这 阅读全文
posted @ 2019-05-04 09:45 AD_shl 阅读(116) 评论(0) 推荐(0)
摘要:这是一道非常不错的题目,融合了多种算法。 首先这是一道单源最短路问题,一个显然的做法就是直接用相关的算法解决,但是本题有负权边,所以我们不能用dijstra算法,只能用spfa,但是如果数据是精心设计,那么spfa算法很可能被卡死,所以简单的单源最短路算法无法直接通过本题。 仔细分析,这道题有一个特 阅读全文
posted @ 2019-04-26 20:12 AD_shl 阅读(481) 评论(0) 推荐(0)