学tarjan时对于low的含义不太清楚
for(int i=head[x];i;i=edge[i].nxt)
if(!dfn[edge[i].to])dfs(edge[i].to),low[x]=min(low[x],low[edge[i].to]);
else if(!bel[edge[i].to])low[x]=min(low[x],dfn[edge[i].to]);
对于上面代码的
if(!bel[edge[i].to])low[x]=min(low[x],dfn[edge[i].to]);
改成下面似乎也对
if(!bel[edge[i].to])low[x]=min(low[x],low[edge[i].to]);
请问这时候的low又是什么含义,low的本质到底是什么,还能有其他方法替代low吗?
求助,谢谢