众所周知,对于一些树上问题,可以用树形DP、树链剖分等算法解决,然而图上的问题则往往更加复杂。但在一些情况下,我们可以使用圆方树将图上问题转化为树上问题(大部分时候用于处理仙人掌图上的问题)。 建树 在一张连通的无向图中,对于两个点 u 和 v,如果无论删去哪个点(只能删去一个,且不能删 u 和 v 自己)都不能使它们不连通,我们就说 u 和 v …
强连通分量
强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通。 强连通分量(Strongly Connected Components,SCC)的定义是:极大的强连通子图。 Tarjan算法 对于一个连通块,以任意节点作为根节点进行深度优先搜索(DFS)。将节点的深度优先搜索序记为 dfn[x],将节点能够通过返祖边到达的最早节点的深度优先搜索序…