#40042: 作者提供的解法


xavier13540 (柊 四千)

學校 : 國立臺灣大學
編號 : 21783
來源 : [36.230.29.43]
最後登入時間 :
2024-07-06 14:41:17
a480. 導彈攔截系統 -- 100學年度彰雲嘉區資訊學科能力競賽 | From: [1.171.44.145] | 發表日期 : 2024-04-24 12:42

設導彈攔截系統位於 O1(x1,y1)O2(x2,y2),防護半徑分別為 r1r2,第 i 座城市位於 Pi(ξi,ηi)。注意若 O1Pi>r1,則必須有 r2O2Pi。若 P1,P2,,Pn 已根據 O1Pi 由小到大排序,我們的答案就是

min{O1Pn2,min1in1{O1Pi2+maxi+1jn{O2Pi2}},max1jn{O2Pi2}}.

因此可以用排序達到 O(nlogn) 的時間複雜度。

另外這題可以推廣到有三座導彈攔截系統的情況,時間複雜度一樣是 O(nlogn),有興趣的讀者可以想想看該怎麼做。

 
ZeroJudge Forum