随笔分类 -  5.06.0 强联通分量

摘要:割点 首先 tarjan 求割点, 对于不是割点的点, 答案是 2 (n 1) 有序,所以要乘 2 对于是割点的点, 答案是删去该点后所有连通块的个数加上 n 1 在乘 2 cpp include include include include include define ll long long 阅读全文
posted @ 2018-05-27 07:59 Mr_Wolfram 阅读(238) 评论(0) 推荐(0)
摘要:强连通分量 一个结论: 在有向图中, 一个联通块能被所有点遍历当且仅当图中只有一个连通块出度为零 cpp include include include include include include include using namespace std; const int MAXN = 100 阅读全文
posted @ 2018-05-24 16:23 Mr_Wolfram 阅读(176) 评论(0) 推荐(0)
摘要:tarjan 求 无向图的割边 (桥) 边 (x,y) 是桥当且仅当, 对于 x 的子节点 y ,low[x] include include include include include pragma comment(linker, "/STACK:16777216") include usin 阅读全文
posted @ 2018-04-02 15:01 Mr_Wolfram 阅读(174) 评论(0) 推荐(0)
摘要:tarjan 求无向图的割点 割点,即割去此点后原图可变为两个或多个独立的联通块 一个点 x 是割点,当且仅当存在一个x 的子节点 y ,使得 low[y] = dfn[x] 对于根节点来说,需要两个满足的节点 cpp include include include include include 阅读全文
posted @ 2018-04-02 10:44 Mr_Wolfram 阅读(215) 评论(0) 推荐(0)
摘要:求有向图的权值为一的最小环 并查集做法 维护一个dis[],表示i号元素到fa[i]的距离。 对于输入的每两个点u,v,询问这两个点的fa[]是否相同,如果相同就成环,维护最小值,mi=min(mi,dis[u]+dis[v]+1)。如果不相同,merge(u,v)。目测是最简单的做法。 但是只适用 阅读全文
posted @ 2017-11-20 21:24 Mr_Wolfram 阅读(126) 评论(0) 推荐(0)