集訓(xùn)隊(duì)作業(yè)試題名稱_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

試題名稱:DrivingDirections試題描述有一外星人的圓狀飛船,半徑r,需要從出發(fā)點(diǎn)A運(yùn)行到目的地B。與之同時(shí),在地圖的其他地方有n個(gè)物,每個(gè)物都是橫平豎直的矩形,大小不一。已知飛船不可以穿過物,但可以與物相切。試求出飛船從A點(diǎn)到B點(diǎn)最短路徑的長度(指圓心限制0n所有的物互相之間不相交或者接觸思考首先可以把外星人的飛船收縮為一個(gè)點(diǎn)與此同時(shí)所有的建筑物也向外擴(kuò)展r的找出最短路徑上的“關(guān)鍵點(diǎn)想象一根繃直的繩子被從A點(diǎn)拉到B點(diǎn),則這根繩子一定滿從A點(diǎn)或者B點(diǎn)以切線的方式某一段圓弧以公切線的方式從一段圓弧另一段圓弧圍繞著某一個(gè)物的外殼行進(jìn)Dijkstra算法求解最短路徑。但是這里面判斷一條邊是否可行是非常麻煩與繁瑣的工作,為了方便起見,下文中所提到的向量同時(shí)看作一個(gè)復(fù)數(shù),即a(x,y)xyi,算法介紹關(guān)鍵點(diǎn)1第一類關(guān)鍵點(diǎn):起點(diǎn)(終點(diǎn))CPPQ1PCPQ1PC2r2PCei;PQ2PC2r2PC2第二類關(guān)鍵點(diǎn):兩個(gè)圓之間的(外)QC14QC142rC1C2e2CPCPCPr1 2CCe1P3Q3P4Q4只有當(dāng)兩個(gè)圓相離的時(shí)候才能夠得到,假設(shè)dC1C2

CPCQrC

ei;CPCQrC

1 2 13

1 2 1物的計(jì)算,對于每一個(gè)圓角矩形選取紅色所示的4個(gè)點(diǎn)一起作為關(guān)鍵點(diǎn):當(dāng)圍繞某一個(gè)建筑物走的時(shí)候每一段圓弧連接兩個(gè)關(guān)鍵一段圓弧(90度)4~6(粗實(shí)線為待判線段/圓圖 圖圖 圖7中這很讓人頭疼的情況本題中卻不會(huì)帶來麻煩,因?yàn)榻锹渖系膱A已經(jīng)把這條線段的可綜合以上各種情況,用如下兩個(gè)步驟判斷一條線段(一段圓弧)是否可行線段(?。┚€段(?。┈F(xiàn)在來總結(jié)一下可能出現(xiàn)的邊的種類起點(diǎn)(終點(diǎn))圍繞著某一個(gè)建筑繞行一周建立的邊(可能有圓弧部分起點(diǎn)、終點(diǎn)直接連線效率分析不難看出最多形成O(n2個(gè)關(guān)鍵點(diǎn)(圓與圓的公切線)以及O(n2條邊(在環(huán)繞建筑物的時(shí)候一個(gè)點(diǎn)只被連一條邊Dijkstra過程的復(fù)雜度應(yīng)為O(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論