tarjan中low数组的一个问题:
if(!dfn[v]){
tarjan(v);
low[u] = min(low[u], low[v]);
} else low[u] = min(low[u], dfn[v]);
这里如果v是u的父亲,那么low[u]就能被dfn[v]更新。
如果求强连通分量和割点没什么问题,但在求割边的时候就有问题。
割边的判断法则是 low[v]>dfn[fa v],但如果v能被fa v更新时,则low[v]至少=dfn[fa v],就会出错。
所以在tarjan时要不要加上v==fa?continue这种话?