推 aa871220: 1 你解法很怪 這樣要額外先建link list再DFS 12/10 20:24
→ aa871220: 不是說不行 12/10 20:24
→ aa871220: 更直覺作法是直接disjoint set 每次撈一筆資料確認finds 12/10 20:25
→ aa871220: et(u)!=findset(v)然後加進set C中 若findset(u)=findse 12/10 20:25
→ aa871220: t(v)即有cycle 12/10 20:25
→ aa871220: 或input行數不等於n-1也會不構成Tree 12/10 20:25
→ aa871220: 更正是union 不是加進set C 12/10 20:28
推 mathtsai: (1)有back edge代表有cycle 12/10 21:11
→ mathtsai: (2)用greedy證明 12/10 21:45
→ aa871220: 是 12/10 22:44
→ bobo1004: m大 請問你怎用Greedy做,a大那能問你其他兩題嗎? 12/11 00:22
→ mathtsai: 假如有個最好的選法不選edge(u,v) 12/11 01:56
→ mathtsai: 你可以把matching給u的點 換成v 這樣就和最好的做法一樣 12/11 01:59
→ mathtsai: 可以google "tree maximum matching" 12/11 02:05