題目:http://poj.org/problem?id=2253
現在有n個座標點(2...200),青蛙1想跳去找青蛙2
可是它希望可以有個適合的路線,好讓它每次跳的最大腳程可以盡量小(比較輕鬆)
(想像腳力J的青蛙可以跳距離d<=J,在石頭1能抵達石頭2的前提下求最小的J)
程式碼(Disjoint Set):http://codepad.org/vI3WuCHo
「讓最大的某某盡量最小」實在是一臉二分二分答案的
直接二分答案轉判定,每次都相當於簡單的判連通性問題…
本來爆了一個Floyd 891MS
後來想想其實可以開個Disjoint Set:79MS
AC後看了Discuss發現,
其實這題可以直接照「最小瓶頸生成樹」(即最小生成樹)的方法來做
真的可謂之做法非常多元的一道問題…雖然效率最高的還是最小生成樹啦
沒有留言:
張貼留言