2
A
回答
3
可以使用sweep line algorithm:由X座標排序的點。當矩形進入或離開掃描線(左右邊界的X座標)時引入事件。當前與掃描線相交的矩形是投影到掃描線上時的一組間隔,因此可以使用interval tree或segment tree(後者僅在Y座標壓縮後進行維護,但可以將其作爲預處理步驟進行)來維護。
使用該設置,您只需檢查每個點是否與您的數據結構維護的某個間隔相交。
運行:O((N + M)日誌(N + M))
0
我能想出的最好的辦法是將檢查每一個點(x,y)
它是否包含在任何矩形(l,t,w,h)
,產生束縛的O(nm)
運行時,其中n
是點的數量和m
是矩形的數目。
2
相關問題
- 1. Starling Quad Retangle圓角
- 2. 查找由鍵
- 3. 多查找集
- 4. 查找收集
- 5. 查找交集
- 6. MySQL - 集團由UNION查詢
- 7. 查找結構集
- 8. 查找數據集
- 9. 查找收集pymongo
- 10. 查找重疊集
- 11. 查找谷歌API的多個路由集合
- 12. 查找由集合中的相關實體過濾的實體
- 13. 在路由器級別上的流星收集查找
- 14. IP路由表查找.net
- 15. 查找「自由」在MySQL
- 16. IPv6路由查找順序
- 17. C#查找和按由JS
- 18. 按照查找高亮由Cgridview查看
- 19. 用O(1)查找.NET集合集合?
- 20. 查找集合的所有子集
- 21. 貝葉斯集和查找頂集
- 22. 如何查找集合的交集
- 23. 查找集合交集,並排除
- 24. MongoDB聚集限制查找
- 25. 在Rails中查找集合
- 26. 在Vertica中查找交集
- 27. 查找最小加權集
- 28. 查找部分子集python
- 29. 查找2D從收集
- 30. 查找MongoDB中聚集
我的問題是,設定點的要大得多的一套長方形的,我要求*有效*算法,不是天真的解決方案。 – Xeing