关于本题的Tarjan我有些不解:tarjan中这里:(临街表存储,dfn和low大家应该都知道)
for(int i=head[x];i;i=e[i].nxt){ int v=e[i].v; if(!dfn[v]){ tarjan(v); low[x]=min(low[x],low[v]); } else if(vis[v]) low[x]=min(low[x],dfn[v]);//这里的else if(vis[v]) 到底需要不需要加呢? }
求教