題目:
給一張圖,求出圖中有幾個關節點(Articulation Point)
做法:
圖論的基本介紹可以看:建中培訓講義
dfn&low:
- D[u]: u在dfs tree的深度
- L[u]: u點與u的子孫透過back edge連回祖先,其中深度最小的
判斷u點是否為Articulation Point(AP)
- 若u為根節點,則當u有兩顆或以上的子樹時,u為AP,當u被切除後子樹間無法連通
- 若u非根節點,當任一子節點v滿足L[v] >= D[u],u為AP,當u被切除後該子樹無法與祖先連通
code: 當A[u] == cnt代表在第cnt筆測資時u為AP,用int型態省下初始化的時間,cnt記得++
沒有留言:
張貼留言