强联通
- 对于一些存在依赖关系的模型,若其建图是一个DAG,则可以直接通过拓扑排序解决,但若其中有环则需要特殊处理
- 对于有环的问题,会出现一些互相依赖的关系,这些关系组成了一个强连通分量,根据题目要求的性质,对于这个强连通分量可以将其缩为一个点
- 将所有强连通分量缩成点后即可在DAG上求解
- 建模方式和DAG很相似,建出图不是DAG就先跑一边SCC缩点即可1. 数学题要特判哦
- A边终点未访问过,为树枝边
- B边终点已被访问过,且,说明在子树中,说明为前向边
- C边终点已被访问过且不在子树中,终点在栈中则为后向边
- D边终点已被访问过且不在子树中且已经出栈,为横叉边
双联通
- 点双连通:删去任何一个点仍然连通
- 边双连通:删去任何一条边仍然连通
- 另一种定义是,任何两点之间至少存在两条不经过相同中间点(边)的路径
- 割点: low[v]>=dfn[u]
- 割边:low[v]>dfn[u]