第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

投一顆炸彈,要炸中地圖上盡可能多坐標,有什么高效的算法

投一顆炸彈,要炸中地圖上盡可能多坐標,有什么高效的算法

肥皂起泡泡 2019-04-08 11:17:19
假設有一幅二維地圖,地圖上有n個坐標(X0,Y0)...(Xn,Yn),現(xiàn)在要投擲一顆炸彈,炸彈的有效攻擊范圍為一個矩形區(qū)域(長為w,寬為h),要求要炸中最多的坐標。我知道遍歷可以解決問題(算法復雜度為n^2),但是有沒有更高效的算法呢?P.S.其實我本意是要解決一個裁切圖片的問題,圖片現(xiàn)在能分析出特征點,我要截取一個固定面積的矩形區(qū)域,要求這個區(qū)域包含最多的特征點。只是覺得用以上方式問會容易理解一點。
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

題主請速看你的評論。這個問題和POJ2482是完全等同的,你可以去直接查找解題報告。
樸素遍歷我覺得達不到O(n^2)的復雜度,因為你不能假定任何一個目標都在矩形的角點上。
事實上POJ給出的范圍n<=10000就是照著O(n^2)或接近的復雜度來的,絕對不是要求在O(nlogn)左右解決。
例如四個點如果在(0,1)(0,-1)(-1,0)(1,0),目標區(qū)域為2*2,則此時最優(yōu)解為4。但如果把任何一個目標當作角點,無論向哪個方向擴展,都會得到錯解3。你可以畫一畫這個圖,非常顯然。
遍歷是跑不了的,不過誰說遍歷非要O(n^2)呢?
對于線段的區(qū)間查詢用線段樹,對于矩形的子矩形查詢用二維線段樹。
預處理
離散化處理。先只審查X坐標。
把所有點的X坐標排序,形成有序列表X[0]...X[i],O(nlogn)。
記錄每個X[i]到最近的下一個X坐標X[i+1]的距離。相同就記0,沒關系。
掃描從每個X[i]開始,向右延伸h的距離,最遠能覆蓋到的坐標位置k(即max(k)within{k>iandX[k]<=X[i]+h})。注意用左右雙下標線性前推,這個掃描是O(n)的可不是O(n^2)。
對Y坐標重復以上的步驟。
最后將X和Y軸,都歸約成[0,1,...,n-1]這樣的元素數(shù)量為n的線性整數(shù)區(qū)間。至于各個點之間的X、Y軸距離,被記錄到了每個點的權值,成為了一種附加數(shù)據(jù)。
線段樹和二維線段樹
線段樹就是把區(qū)間不斷二分形成一個二叉樹。每一個節(jié)點代表一個區(qū)間,左子樹和右子樹,是將這個區(qū)間一分為二的結果,合并起來等同于父親節(jié)點的區(qū)間。在線段樹上,查詢?nèi)我庖粋€區(qū)間,都是最優(yōu)O(logn)的。
離散化處理的意義就在于,忽略一切坐標之間長長短短的差異,將坐標“平均化”成若干個元素。這樣在建樹的時候,就可以完全避免不平衡狀況,不會造成二叉樹查詢的退化,時間復雜度保證最優(yōu)。
只要分開審查X和Y兩個維度,就可以把線段樹擴展到二維。
二維線段樹的簡單想法,就是二叉樹套二叉樹。用線段樹負責一個維度,線段樹的每一個節(jié)點里再建立一個二叉樹,負責另一個維度。這樣查詢?nèi)我庖粋€矩形范圍,都是O(logn*logn)的。
剩下的算法就略了,二維線段樹的算法是現(xiàn)成的。如果我沒弄錯,那么總體復雜度是O(n^2*(logn)^2)的,感謝評論指正。
                            
查看完整回答
反對 回復 2019-04-08
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

很感謝@沙渺和ZhenboLi提供的思路。搜索"poj2482"或者"starsinyourwindow"的確有解決的辦法。
其實我的原意是要解決一個裁切圖片的問題,我的圖片經(jīng)過OpenSURF算法能夠得到一組特征坐標的數(shù)組(特征點沒有權值),接下來就要截取一個矩形區(qū)域,這個區(qū)域應該覆蓋盡可能多的特征點。后來轉(zhuǎn)換了一下思路,其實妥協(xié)一下就能很簡單地解決這個問題,我把圖片resize為和矩形區(qū)域一樣的寬度或者高度,再去獲取特征坐標,接下來就只剩求一個維度的上的最大區(qū)間問題了。
                            
查看完整回答
反對 回復 2019-04-08
  • 2 回答
  • 0 關注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號