淺析連通分量low數組

2019-08-20 08:50:53 上午

  • dfn[] 數組代表的是時間戳,即結點訪問的時間次序。不是結點所在的深度。

  • 以其他的點作跳板,達到所能達到的時間戳最小的結點。這是沒有意義的,因爲只要把中間的任意一個結點刪去,這條“橋”就相當於斷了。應當看該結點只走一步所能達到的時間戳最小的結點

  • A - - > B - - > C
    <- - <- -

    從C到B再到A,雖然B能到A,但是更新C時 low[C] = min(low[C], dfn[B]), min中不應該是low[B]使low[C] = low[B], 因爲low[B] = dfn[A] , 也就是說C可以到達A,但是如果去掉B,C就不能到A。即

low[u] = min(low[u], dfn[v]);
  • A - - > B - - > C D
    < - - - - - - - - -

    C能到D,D能到A。更新爲C能到A,這是合理的,因爲D是C的子樹,判強聯通分量時,他們是一個整體,割掉的是樹根向外所連接的邊,而不是樹的內部,所以樹內的點能到達的時間戳最小的點,樹根也能到達。即
    
low[u] = min(low[u], low[v])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章