計算幾何問題 java_【轉載】ACM計算幾何題目推薦

2107??? Quoit Design??? 典型最近點對問題

POJ??? 3714??? Raid??? 變種最近點對問題

B,最小包圍圓

最小包圍圓的算法是一種增量算法,期望是O(n)。

ZOJ??? 1450??? Minimal Circle

HDU??? 3007??? Buried memory

C,旋轉卡殼

POJ 3608??? Bridge Across Islands??? 旋轉卡殼解兩凸包最小距離

POJ 2079??? Triangle??? ??? 旋轉卡殼計算平面點集最大三角形

1.2 比較簡單的題目

HDU??? 3264??? Open-air shopping malls ,圓面積相交問題,如果用二分法做的話不難

CII 3000 Tree-Lined Streets,幾何+貪心

CII 4676 Geometry Problem,模板題

HDU 3272 Mission Impossible,枚舉+鏡面反射思想

POJ 3334??? Connected Gheeves,二分答案,面積判定

POJ 1819??? Disks,模擬一下

CII 3905 Meteor,貌似還是比較簡單

ZOJ 2589 Circles,平面圖的歐拉定理,圓的相交

POJ 2194 Stacking Cylinders,向量旋轉

二。經典算法

2.1 三角剖分

三角剖分這個東西貌似去年流行了一下,高校聯賽時某U連續出了兩次。實際上對多邊形進行三角剖分是一個很常見的算法思想,因為三角形是一個比較簡單的凸多邊形,可以對兩個三角形比較容易地求公共面積,這也是三角剖分最常見的用途。對這個算法進行擴展,就可以求兩個簡單多邊形的面積交了。主要是理解有向面積的概念。

第一類是圓與三角形的相交,主要做法是分情況討論。

POJ??? 3675??? Telescope??? 三角形剖分,圓與三角形的交

POJ??? 2986??? A Triangle and a Circle??? 三角形剖分,圓與三角形的交

ZOJ?? 2675??? Little Mammoth??? 三角形剖分,圓與三角形的交

第二類是多邊形與多邊形相交。

HDU??? 3060??? Area2??? 簡單多邊形面積并,三角剖分

三角形剖分的另一種變種是梯形剖分,應用起來稍有局限性,但是比三角形剖分好寫。

POJ??? 3148??? ASCII Art??? 多邊形梯形剖分,半平面交

多邊形的重心問題,也是三角形剖分的應用:

CII????? 4426??? Blast the Enemy!

2.2 極角排序

顧名思義,極角排序一般就是有一個圓心的問題,將平面上各個點按照與圓心極角進行排序。然后就可以在線性掃描之中解決一些統計問題。不過這類問題就稍稍超出計算幾何范疇了。

UVA??? 11696 Beacons??? 頗為經典的極角排序的統計問題,記得darkgt大牛有一篇文章提到這個題目。

CII 4064 Magnetic Train Tracks,極角排序的統計問題,補集思想。

UVA??? 11704 Caper pizza

POJ 2280??? Amphiphilic Carbon Molecules,極角排序相當巧妙地解決了這個問題。

2.3 掃描線算法

掃描線算法,需要使用到平衡樹輔助,寫起來比較復雜(對于本菜而言)。關于平衡樹,我建議是直接使用STL的set或map。所以你需要掌握一些C++的知識,才能夠看懂一份使用了map與set的代碼。當年學習OI牛的代碼我看得很糾結。不過只要理解了“事件點”這一個概念后就比較好辦了。

HDU??? 3124??? Moonmist??????? 二分+掃描線。最近圓對,不存在改編最近點對的方法。不過當時數據弱,很多人亂搞過了

POJ??? 2927??? Coneology??????? 平衡樹+掃描線,與上題類似。

下面兩個題目都是關于多邊形的掃描線算法,關于平面上許多凸多邊形套了多少層的問題。

CII??? 4125??? Painter ,這個是Final題,比較簡單,是判斷三角形嵌套層數的。

UVA??? ??? 11759??? IBM Fencing,上題是三角形,這題是多邊形,稍稍難了一點。不過理解好掃描線算法的話應該沒有問題。

2.4 其他題目

POJ??? 3528 Ultimate Weapon,模板化的三維凸包。知道幾個三維有向體積的概念即可比較容易理解三維凸包的算法。三維凸包算法又是一種增量算法。

三。不確定算法/極值問題

POJ 3301??? Texas Trip??? ,算是一種模擬退火求極值的問題,通過平面旋轉找到最佳答案。

SPOJ 4409 Circle vs Triangle(AREA1),也是模擬退火

UVA 11562 Hard Evidence,應用三分極值法求極值。

四。傳統幾何、公式題

UVA有一個名叫Shahriar Manzoor喜歡出這些題目,喜歡這類題目的同志可以研究一本名叫《近代歐式幾何學》的書。不過這些題目一般中學幾何知識能夠解決。

CII 4413??? Triangle Hazard,梅涅勞斯定理,想不到SCNU校賽出到了

UVA??? ?11524??? InCricle,三角形內切圓性質聯立海倫公式

CII 4714??? In-circles Again,還是公式推導

POJ??? 2208 Pyramids,歐拉四面體公式

五。幾何結合其他算法,麻煩題

轉自:

http://www.cppblog.com/zzfmars/articles/121794.html

HDU??? 2297 Run,百度杯的題目,利用到了zzy的半平面交的極角排序思想。

CII 4448 Conduit Packing,問一個大圓能否放下四個小圓。頗為變態的Final題,算法都很基礎,就是二分一個答案,枚舉兩個已知圓,求與已知的兩圓公切的第三個圓,枚舉放置的位置……關鍵是不好想。

CII 4510 Slalom 幾何+最短路

UVA??? 11422 Escaping from Fractal Bacterium??? ,麻煩題,主要還是向量旋轉。

HDU??? 3228 Island Explorer,利用了最小生成樹的性質。

CII 4499 Camera in the Museum,有關圓形處理的,很不錯的題目。

CII 2395 Jacquard Circuits,Pick公式的應用

POJ 3747 Scout YYF II,又是一個幾何問題,需要猜想一下。

POJ 3336 ACM Underground,幾何預處理,并查集

CII 4428 Solar Eclipse,也是不錯的題目,涉及圓的問題

CII 4206 Magic Rings,dancing links解重復覆蓋問題,二分,百度杯也有個類似的題目。

POJ 1263??? Reflections,與下面一個題目都是一類光線在球面上反射問題。解決方法是解析幾何,參數方程,向量旋轉等等。

CII 4161 Spherical Mirrors,上面題目的三維版本。

POJ 3521 Geometric Map,復雜的預處理,可以用于自虐

CII 3270 Simplified GSM Network??? 雖然有著V圖的模型,但是規模小,所以無須出動V圖算法,用半平面交即可。變態級的V圖算法可以咨詢三鮮教主。

CII 4617 Simple Polygon,平面上有一堆點,叫你用一筆畫把這些點連起來,連成一個閉合的簡單多邊形,線不允許出現相交。改造一下凸包算法即可。

當然,除了上述的題目外,還有許多比較精彩的計算幾何題目等待大家發掘

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370347.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370347.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370347.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jdbc連接oracle的幾種格式

1. SID的方式。已經不推薦使用這種方式了。 jdbc:oracle:thin:[<user>/<password>]<host>[:<port>]:<SID> 2.Service Name的方式。 jdbc:oracle:thin:[<user>/<password>]//<host>[:<port>]/<service> 3.TNSNames…

Java 7:使用NIO.2進行文件過濾-第1部分

NIO.2是自Java 7起JDK中包含的用于I / O操作的新API。使用此新API&#xff0c;您可以執行與 java.io以及許多出色的功能&#xff0c;例如&#xff1a;訪問文件元數據和監視目錄更改等。 顯然&#xff0c;由于向后兼容&#xff0c;java.io包不會消失&#xff0c;但是我們鼓勵為…

第十三周活動進度表

學習進度表&#xff1a; 第三周內容時間周一&#xff08;4&#xff1a;10-6&#xff1a;00&#xff09;上課&#xff0c;周二晚上&#xff08;8&#xff1a;00-9&#xff1a;00&#xff09;&#xff0c;周四晚上&#xff08;8&#xff1a;00-8&#xff1a;30&#xff09;&#…

課時66.顏色控制屬性下(理解)

今天來講解十六進制控制屬性的方法&#xff0c;其實用十六進制表示的方式本質就是rgb&#xff0c;只不過它們的格式不一樣而已&#xff0c;十六進制中是通過每兩位表示一種顏色的方式來給顏色賦值。 如 #FF0000 FF----r 00----g 00----b 修改前兩位相當于修改rgb中的第一…

idea復制java_IntelliJ IDEA的剪切、復制和粘貼

IntelliJ IDEA的剪切、復制和粘貼本節內容概覽&#xff1a;? 剪切、復制和粘貼的基本使用? 復制選定的文本片段? 將路徑復制到文件? 將引用復制到一行或一個符號? 剪切選定的文本片段? 從剪貼板粘貼最后一個條目? 將最后一個條目從剪貼板粘貼為純文本? 從剪貼板粘貼特定…

python方差的計算公式為什么減一_樣本標準差分母為何是n-1

歡迎各位學習從0到1Python數據科學之旅&#xff0c;騰訊課堂和網易云課堂入口分別如下&#xff1a;(騰訊課堂新營業&#xff0c;報名可領取20元優惠券)微信公眾號&#xff1a;pythonEducation模型和統計項目QQ&#xff1a;231469242大家好&#xff0c;今天給大家介紹標準差。標…

pxe+kickstart 自動化部署linux操作系統

kickstart 是什么&#xff1f; 批量部署Linux服務器操作系統 運行模式&#xff1a; C/S client/server 服務器上要部署&#xff1a; DHCP tftp&#xff08;非交互式文件共享&#xff09; 安裝系統的三個步驟&#xff1a; 1、加載vmlinuz、 initrd (微型啟動根目錄&#xff0c;它…

課時57.HTML被廢棄的標簽(掌握)

1.為什么HTML中有一部分標簽會被廢棄&#xff1f; 因為當前HTML中的標簽只有一個作用&#xff0c;就是用來添加語義&#xff0c;而早期的HTML標簽中有一部分標簽是沒有語義的 有一部分標簽是用來修改樣式的 所以這部分標簽就被淘汰了 <br><hr><font> <…

Java編碼約定被認為是有害的

在Oracle網站上有Java編程語言指南的正式代碼約定 。 您可能希望這份超過20頁的文檔將是有關Java語言的最佳實踐&#xff0c;提示和技巧的最完整&#xff0c;最全面和最權威的來源。 但是一旦你開始閱讀它&#xff0c;失望和憤怒就會增加。 我想指出本指南中最明顯的錯誤&#…

flash php socket通信_php socket通信機制實例說明

php socket通信機制實例說明與代碼----什么是socket 所謂socket一般也稱作"套接字"&#xff0c;用于描述ip地址和端口&#xff0c;是一個通訊鏈的句柄。使用程序一般經過"套接字"向network發出請求也許應對network請求。說白了就是一種通訊機制。它類似于銀…

python的ogr模塊_python GDAL/OGR模塊安裝注意事項

軟件準備&#xff1a;首先&#xff0c;確保電腦里已安裝python2.7(2.x版本的比較好用&#xff0c;因為還使用ArcGIS)&#xff0c;然后從http://www.gisinternals.com網站上下載這兩個文件GDAL-2.1.3.win32-py2.7.msi和gdal-201-1500-core.msi。軟件安裝&#xff1a;首先安裝gda…

課時55.詳情和概要標簽(理解)

1.什么是詳情和概要標簽&#xff1f; 作用&#xff1a;利用summary標簽來描述概要信息&#xff0c;利用details標簽來描述詳情信息 默認情況下是折疊展示&#xff0c;想看見詳情必須點擊 格式&#xff1a; <details> <summary>概要信息</summary> 詳情信…

Spring Security可以做的十件事

一 您可以在Spring XML配置文件中指定您選擇的授權提供者。 您可以通過配置Spring的http://www.springframework.org/schema/security/spring-security-3.1.xsd模式中定義的authentication-manager來實現。 簡化的authentication-manager元素定義看起來像這樣&#xff1a; &l…

python編寫自定義函數判斷n1-n2范圍內的素數_【每日道代碼題001】- PYTHON基礎復習...

問題001-1&#xff1a;請對輸入三個整數a,b,c,判斷能否以它們為三個邊長構成三角形。若能&#xff0c;輸出YES和面積&#xff0c;否則輸出NOa float(input())b float(input())c float(input())if a > 0 and b > 0 and c > 0: #判斷邊長是否為正if (a b > c) an…

php繪制一個三角形,如何利用css或html5畫出一個三角形?兩種不同的制作三角形方法(代碼實例)...

我們在平時的前端開發的時候&#xff0c;有時候是需要一些小圖形來豐富一下頁面效果&#xff0c;比如&#xff1a;下拉列表的倒三角圖形。那么這樣的一個三角形是如何制作出來的&#xff0c;本章給大家介紹如何利用css或html畫出一個三角形&#xff1f;兩種不同的制作三角形方法…

課時53.video標簽(掌握)

這節課來學習一下html5中新增的標簽&#xff0c;我們先來看一下&#xff0c;html5中新增了哪些標簽&#xff1f; 打開W3school的網頁&#xff0c;點擊參考手冊中的HTML/HTML5標簽&#xff0c;有一個按字母順序排列的標簽&#xff0c;但凡標簽后面帶有5標記的&#xff0c;都是h…

Date函數基礎知識整理

Date類型&#xff1a;1.Date.parse()接收一個表示日期的字符串參數&#xff0c;然后再根據這個字符串返回響應的日期的毫秒數&#xff1b;如&#xff1a;創建一個日期&#xff1a; 1 <script> 2 // var someDatenew Date(May 25,2004); 3 // console.log(someDate);//Tue…

Google Guava –與Monitor同步

Google Guava項目是每個Java開發人員都應該熟悉的庫的集合。 Guava庫涵蓋I / O&#xff0c;集合&#xff0c;字符串操作和并發性。 在這篇文章中&#xff0c;我將介紹Monitor類。 Monitor是一種同步構造&#xff0c;可以在使用ReentrantLock的任何地方使用。 在任何時候&#x…

yaf 重寫index.php,php框架Yaf路由重寫實例代碼

通常為了友好的URL格式&#xff0c;會進行站點URL的重寫&#xff0c;可以在webserver(Nginx)的配置中進行rewrite&#xff0c;也可在在程序端進行&#xff0c;本文主要和大家介紹php框架Yaf路由重寫&#xff0c;給大家做個參考&#xff0c;希望能幫助到大家。以下使用Yaf框架進…

python類初始化導入庫_Python中optparser庫用法實例詳解

本文研究的主要是Python中optparser庫的相關內容&#xff0c;具體如下。一直以來對optparser不是特別的理解&#xff0c;今天就狠下心&#xff0c;靜下心研究了一下這個庫。當然了&#xff0c;不敢說理解的很到位&#xff0c;但是足以應付正常的使用了。廢話不多說&#xff0c;…