HDU 6325 Problem G. Interstellar Travel(凸包)
生活随笔
收集整理的這篇文章主要介紹了
HDU 6325 Problem G. Interstellar Travel(凸包)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
給你n個點,第一個點一定是(0,0),最后一個點縱坐標yn一定是0,中間的點的橫坐標一定都是在(0,xn)之間的
?然后從第一個點開始飛行,每次飛到下一個點j,你花費的價值就是xi*yj-xj*yi,并且這里每一次飛行必須滿足xi<xj
讓你求出你所花費的最小的價值(可以為負)下,飛行的路徑,如果有多種情況,輸出路徑字典序最小的那個
顯然坐標相同的點里只保留編號最小的點最優。這里是因為題目嚴格要求xi<xj,所以不可能在原地飛行。
將起點到終點的路徑補全為終點往下走到無窮遠處,再往左走到起點正下方,再往上回到起點。任意路徑中回到起點部分的代價相同,觀察代價和的幾何意義,就是走過部分的面積的相反數。代價和最小等價于面積最大,故一定是沿著上凸殼行走。
顯然起點、終點、凸殼的拐點必須要作為降落點。對于共線的點a?1??,a?2??,...,a?m??,若一個點ii的編號是[i,m]中最小的,那么在此處降落可以最小化字典序。
?
轉載于:https://www.cnblogs.com/shuaihui520/p/10323080.html
總結
以上是生活随笔為你收集整理的HDU 6325 Problem G. Interstellar Travel(凸包)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到下冰雹了是什么预兆
- 下一篇: 梦到狼挡道是什么意思