枚舉的最小生成樹——hdu1598

題目描述:

XX星有許多城市,城市之間通過一種奇怪的高速公路SARS進行交流,每條SARS都對行駛在上面的Flycar限制了固定的Speed,同時XX星人對 Flycar的“舒適度”有特殊要求,即乘坐過程中最高速度與最低速度的差越小乘坐越舒服 ,但XX星人對時間卻沒那麼多要求。要你找出一條城市間的最舒適的路徑

大致思路:

第一反應看到差值最小值想到的是二分,二分解決問題的最經典的一類就是二分最小值,而事實上證明這個問題確實可以用二分+最短路來解,但並不是最好操作的解法。這種方法就是枚舉+最小生成樹,每當確定一對起點和終點,就枚舉經過邊的最小值,然後通過kruskal算法不斷加邊,知道兩個點在同一個集合中,計算差值更新答案。這樣看來的話代碼量就少了不少。

代碼:

略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章