天天看點

【POJ 1236 Network of Schools】強聯通分量問題 Tarjan算法,縮點

題目連結:http://poj.org/problem?id=1236

題意:給定一個表示n所學校網絡連通關系的有向圖。現要通過網絡分發軟體,規則是:若頂點u,v存在通路,發給u,則v可以通過網絡從u接收到。

現要求解兩個問題:

TaskA: 最少分發給幾個學校,就可以使所有的學校都能得到軟體。

TaskB: 最少增加幾條邊,就可以使得,發軟體給任一學校,所有學校都可以收到。

思路:先進行強聯通分量分解,然後縮點,并計算縮點後每個點的出度、入度。入度為0的點的總數為 a ,出度為0的點總數為 b。a即TaskA的答案,而TaskB的答案為max(a, b)。

求SCC部分參考了 http://blog.csdn.net/dgq8211/article/details/7834292

縮點的做法很暴力,将每個強聯通分量重新編号為一個集合,在求SCC時記錄belong。

繼續閱讀