码迷,mamicode.com
首页 > 其他好文 > 详细

小结:双连通分量 & 强连通分量 & 割点 & 割边

时间:2014-10-01 19:11:11      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   ar   sp   c   log   html   

概要:

各种dfs时间戳。。全是tarjan(或加上他的小伙伴)无限膜拜tarjan orzzzzzzzzz

技巧及注意:

强连通分量是有向图,双连通分量是无向图。

强连通分量找环时的决策和双连通的决策十分相似,但不完全相同。

强连通分量在if(FF[v])后边的else if还要特判是否在栈里,即vis[v],然后才更新LL[u]

割点和强连通分量因为是无向图所以要判个fa,可以在dfs时维护个fa参数

割点如果要求分割的分量,那么就是这个节点对他的子树是割点的数目+1。

割点不需要栈维护但是要在后边判当前节点是否为root(即child==1且为root时,这个点就不是割点),而双连通分量不需要特判根节点,而需要在LL[v]>=FF[u]那里直接维护bcc即可。

割边的话其实就是割边的特例即可,即LL[u]>FF[u]就行了。。

边-双连通分量的话比点的好做,就是求出割边后所有不经过割边的环就都是了,dfs之。

割点例题:【POJ】1523 SPF(割点)(注意特判root)

双连通分量例题:【POJ】2942 Knights of the Round Table(双连通分量)(注意不要忘记栈是在两个if内添加的)

 

小结:双连通分量 & 强连通分量 & 割点 & 割边

标签:blog   http   io   os   ar   sp   c   log   html   

原文地址:http://www.cnblogs.com/iwtwiioi/p/4003405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!