隨筆:152 文章:0 評論:129 引用:0
Headacher
學(xué)習(xí)筆記,從一點(diǎn)一滴做起。
C++博客
首頁
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
POJ 計(jì)算幾何入門題目推薦(轉(zhuǎn))
其實(shí)也談不上推薦,只是自己做過的題目而已,甚至有的題目尚未AC,讓在掙扎中。之所以推薦計(jì)算幾何題,是因?yàn)椋救烁杏XACM各種算法中計(jì)算幾何算是比較實(shí)際的算法,在很多領(lǐng)域有著重要的用途(例如本人的專業(yè),GIS)。以后若有機(jī)會(huì),我會(huì)補(bǔ)充、完善這個(gè)列表。
計(jì)算幾何題的特點(diǎn)與做題要領(lǐng):
1.大部分不會(huì)很難,少部分題目思路很巧妙
2.做計(jì)算幾何題目,模板很重要,模板必須高度可靠。
3.要注意代碼的組織,因?yàn)橛?jì)算幾何的題目很容易上兩百行代碼,里面大部分是模板。如果代碼一片混亂,那么會(huì)嚴(yán)重影響做題正確率。
4.注意精度控制。
5.能用整數(shù)的地方盡量用整數(shù),要想到擴(kuò)大數(shù)據(jù)的方法(擴(kuò)大一倍,或擴(kuò)大sqrt2)。因?yàn)檎麛?shù)不用考慮浮點(diǎn)誤差,而且運(yùn)算比浮點(diǎn)快。
一。點(diǎn),線,面,形基本關(guān)系,點(diǎn)積叉積的理解
POJ 2318 TOYS(推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2318
POJ 2398 Toy Storage(推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2398
一個(gè)矩形,有被若干直線分成N個(gè)格子,給出一個(gè)點(diǎn)的坐標(biāo),問你該點(diǎn)位于哪個(gè)點(diǎn)中。
知識點(diǎn):其實(shí)就是點(diǎn)在凸四邊形內(nèi)的判斷,若利用叉積的性質(zhì),可以二分求解。
POJ 3304 Segments
http://acm.pku.edu.cn/JudgeOnline/problem?id=3304
知識點(diǎn):線段與直線相交,注意枚舉時(shí)重合點(diǎn)的處理
POJ 1269 Intersecting Lines
http://acm.pku.edu.cn/JudgeOnline/problem?id=1269
知識點(diǎn):直線相交判斷,求相交交點(diǎn)
POJ 1556 The Doors (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1556
知識點(diǎn):簡單圖論+簡單計(jì)算幾何,先求線段相交,然后再用Dij求最短路。
POJ 2653 Pick-up sticks
http://acm.pku.edu.cn/JudgeOnline/problem?id=2653
知識點(diǎn):還是線段相交判斷
POJ 1066 Treasure Hunt
http://acm.pku.edu.cn/JudgeOnline/problem?id=1066
知識點(diǎn):線段相交判斷,不過必須先理解“走最少的門”是怎么一回事。
POJ 1410 Intersection
http://acm.pku.edu.cn/JudgeOnline/problem?id=1410
知識點(diǎn):線段與矩形相交。正確理解題意中相交的定義。
詳見:
http://hi.baidu.com/novosbirsk/blog/item/68c682c67e8d1f1d9d163df0.html
POJ 1696 Space Ant (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1696
德黑蘭賽區(qū)的好題目。需要理解點(diǎn)積叉積的性質(zhì)
POJ 3347 Kadj Squares
http://acm.pku.edu.cn/JudgeOnline/problem?id=3347
本人的方法極度猥瑣。復(fù)雜的線段相交問題。這個(gè)題目是計(jì)算幾何的擴(kuò)大數(shù)據(jù)運(yùn)算的典型應(yīng)用,擴(kuò)大根號2倍之后就避免了小數(shù)。
POJ 2826 An Easy Problem?! (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2826
問:兩條直線組成一個(gè)圖形,能容納多少雨水。很不簡單的Easy Problem,要考慮所有情況。你不看discuss看看能否AC。(本人基本不能)提示一下,水是從天空垂直落下的。
POJ 1039 Pipe
http://acm.pku.edu.cn/JudgeOnline/problem?id=1039
又是線段與直線相交的判斷,再加上枚舉的思想即可。
POJ 3449 Geometric Shapes
http://acm.pku.edu.cn/JudgeOnline/problem?id=3449
判斷幾何體是否相交,不過輸入輸出很惡心。
此外,還有一個(gè)知識點(diǎn),就是給出一個(gè)正方形(邊不與軸平行)的兩個(gè)對角線上的頂點(diǎn),需要你求出另外兩個(gè)點(diǎn)。必須掌握其方法。
POJ 1584 A Round Peg in a Ground Hole
http://acm.pku.edu.cn/JudgeOnline/problem?id=1584
知識點(diǎn):點(diǎn)到直線距離,圓與多邊形相交,多邊形是否為凸
POJ 2074 Line of Sight (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2074
與視線問題的解法,關(guān)鍵是求過兩點(diǎn)的直線方程,以及直線與線段的交點(diǎn)。數(shù)據(jù)有一個(gè)trick,要小心。
二。凸包問題
POJ 1113 Wall
http://acm.pku.edu.cn/JudgeOnline/problem?id=1113
知識點(diǎn):赤裸裸的凸包問題,凸包周長加上圓周。
POJ 2007 Scrambled Polygon
http://acm.pku.edu.cn/JudgeOnline/problem?id=2007
知識點(diǎn):凸包,按極角序輸出方案
POJ 1873 The Fortified Forest (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1873
World Final的水題,先求凸包,然后再搜索。由于規(guī)模不大,可以使用位運(yùn)算枚舉。
詳見:
http://hi.baidu.com/novosbirsk/blog/item/333abd54c7f22c52574e0067.html
POJ 1228 Grandpa's Estate (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1228
求凸包頂點(diǎn)數(shù)目,很多人求凸包的模板是會(huì)多出點(diǎn)的,雖然求面積時(shí)能得到正確答案,但是在這個(gè)題目就會(huì)出問題。此外,還要正確理解凸包的性質(zhì)。
POJ 3348 Cows
http://acm.pku.edu.cn/JudgeOnline/problem?id=3348
凸包面積計(jì)算
三。面積問題,公式問題
POJ 1654 Area
http://acm.pku.edu.cn/JudgeOnline/problem?id=1654
知識點(diǎn):利用有向面積(叉積)計(jì)算多邊形面積
POJ 1265 Area
http://acm.pku.edu.cn/JudgeOnline/problem?id=1265
POJ 2954 Triangle
http://acm.pku.edu.cn/JudgeOnline/problem?id=2954
Pick公式的應(yīng)用,多邊形與整點(diǎn)的關(guān)系。(存在一個(gè)GCD的關(guān)系)
四。半平面交
半平面交的主要應(yīng)用是判斷多邊形是否存在核,還可以解決一些與線性方程組可行區(qū)域相關(guān)的問題(就是高中時(shí)的那些)。
POJ 3335 Rotating Scoreboard
http://acm.pku.edu.cn/JudgeOnline/problem?id=3335
POJ 3130 How I Mathematician Wonder What You Are!
http://acm.pku.edu.cn/JudgeOnline/problem?id=3130
POJ 1474 Video Surveillance
http://acm.pku.edu.cn/JudgeOnline/problem?id=1474
知識點(diǎn):半平面交求多邊形的核,存在性判斷
POJ 1279 Art Gallery
http://acm.pku.edu.cn/JudgeOnline/problem?id=1279
半平面交求多邊形的核,求核的面積
POJ 3525 Most Distant Point from the Sea (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3525
給出一個(gè)多邊形,求里面的一個(gè)點(diǎn),其距離離多邊形的邊界最遠(yuǎn),也就是多邊形中最大半徑圓。
可以使用半平面交+二分法解。二分這個(gè)距離,邊向內(nèi)逼近,直到達(dá)到精度。
POJ 3384 Feng Shui (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3384
半平面交實(shí)際應(yīng)用,用兩個(gè)圓覆蓋一個(gè)多邊形,問最多能覆蓋多邊形的面積。
解法:用半平面交將多邊形的每條邊一起向“內(nèi)”推進(jìn)R,得到新的多邊形,然后求多邊形的最遠(yuǎn)兩點(diǎn)。
POJ 1755 Triathlon (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1755
半平面交判斷不等式是否有解。注意不等式在轉(zhuǎn)化時(shí)正負(fù)號的選擇,這直接影響到半平面交的方向。
POJ 2540 Hotter Colder
http://acm.pku.edu.cn/JudgeOnline/problem?id=2540
半平面交求線性規(guī)劃可行區(qū)域的面積。
POJ 2451 Uyuw's Concert
http://acm.pku.edu.cn/JudgeOnline/problem?id=2451
Zzy專為他那篇nlogn算法解決半平面交問題的論文而出的題目。
五。計(jì)算幾何背景,實(shí)際上解題的關(guān)鍵是其他問題(數(shù)據(jù)結(jié)構(gòu)、組合數(shù)學(xué),或者是枚舉思想)
若干道經(jīng)典的離散化+掃描線的題目,ACM選手必做題目
POJ 1151 Atlantis (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1151
POJ 1389 Area of Simple Polygons
http://acm.pku.edu.cn/JudgeOnline/problem?id=1389
矩形離散化,線段樹處理,矩形面積求交
POJ 1177 Picture (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1177
矩形離散化,線段樹處理,矩形交的周長,這個(gè)題目的數(shù)據(jù)比較強(qiáng)。線段樹必須高效。
POJ 3565 Ants (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3565
計(jì)算幾何中的調(diào)整思想,有點(diǎn)像排序。要用到線段相交的判斷。
詳見:
http://hi.baidu.com/novosbirsk/blog/item/fb668cf0f362bec47931aae2.html
POJ 3695 Rectangles
http://acm.pku.edu.cn/JudgeOnline/problem?id=3695
又是矩形交的面積,但是由于是多次查詢,而且矩形不多,使用組合數(shù)學(xué)中的容斥原理解決之最適合。線段樹是通法,但是除了線段樹,還有其他可行的方法。
POJ 2002 Squares
http://acm.pku.edu.cn/JudgeOnline/problem?id=2002
枚舉思想,求平面上若干個(gè)點(diǎn)最多能組成多少個(gè)正方形,點(diǎn)的Hash
POJ 1434 Fill the Cisterns!(推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1434
一開始發(fā)昏了,準(zhǔn)備弄個(gè)線段樹。其實(shí)只是個(gè)簡單的二分。
六。隨機(jī)算法
POJ 2420 A Star not a Tree?
http://acm.pku.edu.cn/JudgeOnline/problem?id=2420
多邊形的費(fèi)馬點(diǎn)。所謂費(fèi)馬點(diǎn),就是多邊形中一個(gè)點(diǎn)P,該點(diǎn)到其他點(diǎn)的距離之和最短。四邊形以上的多邊形沒有公式求費(fèi)馬點(diǎn),因此可以使用隨機(jī)化變步長貪心法。
詳見:
http://hi.baidu.com/novosbirsk/blog/item/75983f138499f825dd54019b.html
七。解析幾何
這種題目本人不擅長,所以做得不多,模板很重要。當(dāng)然,熟練運(yùn)用叉積、點(diǎn)積的性質(zhì)還是很有用的。
POJ 1375 Intervals
http://acm.pku.edu.cn/JudgeOnline/problem?id=1375
知識點(diǎn):過圓外一點(diǎn)求與圓的切線
POJ 1329 Circle Through Three Points
http://acm.pku.edu.cn/JudgeOnline/problem?id=1329
求三角形外接圓
POJ 2354 Titanic
http://acm.pku.edu.cn/JudgeOnline/problem?id=2354
求球面上兩個(gè)點(diǎn)的距離,而且給的是地理經(jīng)緯坐標(biāo)。
POJ 1106 Transmitters
http://acm.pku.edu.cn/JudgeOnline/problem?id=1106
角度排序,知道斜率求角度,使用atan函數(shù)。
POJ 1673 EXOCENTER OF A TRIANGLE
http://acm.pku.edu.cn/JudgeOnline/problem?id=1673
可以轉(zhuǎn)化為三角形的垂心問題。
八。旋轉(zhuǎn)卡殼
POJ 2187 Beauty Contest
http://acm.pku.edu.cn/JudgeOnline/problem?id=2187
凸包求最遠(yuǎn)點(diǎn)對。可以暴力枚舉,也可以使用旋轉(zhuǎn)卡殼。
POJ 3608 Bridge Across Islands(難)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3608
兩個(gè)凸包的最近距離。本人的卡殼始終WA。郁悶。
九。其他問題
POJ 1981 Circle and Points
http://acm.pku.edu.cn/JudgeOnline/problem?id=1981
求單位圓最多能覆蓋平面上多少個(gè)點(diǎn)
發(fā)表于 2009-02-09 09:51
Headacher
閱讀(5706)
評論(1)
編輯
收藏
引用
評論
#
re: POJ 計(jì)算幾何入門題目推薦(轉(zhuǎn))
頂
ljl
評論于 2010-01-10 18:46
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
CALENDER
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
公告
留言簿
(8)
給我留言
查看公開留言
查看私人留言
隨筆分類
ACM-ICPC(7)
(rss)
操作系統(tǒng)
(rss)
計(jì)算機(jī)組成與體系結(jié)構(gòu)(2)
(rss)
數(shù)據(jù)結(jié)構(gòu)和算法(34)
(rss)
數(shù)據(jù)庫
(rss)
心情日記(20)
(rss)
隨筆檔案
2010年12月 (1)
2010年9月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (1)
2010年2月 (2)
2010年1月 (10)
2009年12月 (1)
2009年10月 (3)
2009年9月 (6)
2009年8月 (14)
2009年7月 (8)
2009年6月 (2)
2009年5月 (17)
2009年4月 (4)
2009年3月 (5)
2009年2月 (25)
2009年1月 (9)
2008年12月 (1)
2008年11月 (30)
2008年10月 (4)
2008年7月 (2)
ACM Teammates
Qinz
(rss)
SHFACM
(rss)
wudired
(rss)
The One
May
(rss)
搜索
積分與排名
積分 - 133019
排名 - 194
最新評論
1.?re: POJ 1379 run away 模擬退火算法[未登錄]
為何按你的代碼交會(huì)RE呢?
--zhang
2.?re: POJ 1947 樹狀dp[未登錄]
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--Sky
3.?re: 獨(dú)立集,覆蓋集,支配集,最大團(tuán),最大匹配
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--fly2best
4.?re: HDU HDOJ 1004 Let the Balloon Rise 字典樹[未登錄]
尼瑪 這就是個(gè)水題
--xxx
5.?re: nuaa 1017 最大0,1子矩陣[未登錄]
1 0 1 0 1
2 1 2 1 2
3 2 2 2 0
0 3 4 3 1
1 0 5 4 2 這個(gè)寫錯(cuò)了吧
第三行第三列那個(gè)2應(yīng)該為3才對
--hu
閱讀排行榜
1.?獨(dú)立集,覆蓋集,支配集,最大團(tuán),最大匹配(7915)
2.?原碼 補(bǔ)碼 反碼 移碼(6398)
3.?POJ 計(jì)算幾何入門題目推薦(轉(zhuǎn))(5706)
4.?POJ 1379 run away 模擬退火算法(4398)
5.?數(shù)據(jù)的浮點(diǎn)數(shù)表示(3922)
評論排行榜
1.?POJ 1379 run away 模擬退火算法(12)
2.?我真是太笨了……(10)
3.?PKU POJ 2186 Popular Cows 強(qiáng)連通分量(5)
4.?PKU POJ 1679 The Unique MST 次小生成樹(4)
5.?HDU HDOJ 1005 Number Sequence(4)
Powered By:
博客園
模板提供
:
滬江博客
久久99国产综合精品免费
|
久久男人AV资源网站
|
久久久久久国产精品无码超碰
|
久久人妻少妇嫩草AV无码专区
|
91精品国产91久久久久久青草
|
天天做夜夜做久久做狠狠
|
人妻精品久久无码区
|
久久艹国产
|
99久久无色码中文字幕
|
久久久久无码中
|
高清免费久久午夜精品
|
久久久久久国产精品无码下载
|
日韩亚洲欧美久久久www综合网
|
亚洲欧美国产日韩综合久久
|
久久国产精品久久久
|
性做久久久久久免费观看
|
99久久国产热无码精品免费久久久久
|
狠狠色丁香婷婷久久综合五月
|
亚洲国产天堂久久综合网站
|
国产精品免费福利久久
|
久久精品国产亚洲av麻豆蜜芽
|
国产午夜福利精品久久
|
性做久久久久久久久浪潮
|
国产精品午夜久久
|
国产99久久九九精品无码
|
国产人久久人人人人爽
|
久久久无码精品亚洲日韩蜜臀浪潮
|
女同久久
|
99久久这里只精品国产免费
|
久久综合色之久久综合
|
久久久久亚洲AV无码去区首
|
久久99精品国产麻豆婷婷
|
日韩一区二区久久久久久
|
国产精品久久久天天影视
|
久久99热狠狠色精品一区
|
精品精品国产自在久久高清
|
国产精品久久久久久
|
超级碰久久免费公开视频
|
久久国产精品偷99
|
日韩美女18网站久久精品
|
欧美一级久久久久久久大片
|