隨筆:152 文章:0 評(píng)論: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)中。
知識(shí)點(diǎn):其實(shí)就是點(diǎn)在凸四邊形內(nèi)的判斷,若利用叉積的性質(zhì),可以二分求解。
POJ 3304 Segments
http://acm.pku.edu.cn/JudgeOnline/problem?id=3304
知識(shí)點(diǎn):線段與直線相交,注意枚舉時(shí)重合點(diǎn)的處理
POJ 1269 Intersecting Lines
http://acm.pku.edu.cn/JudgeOnline/problem?id=1269
知識(shí)點(diǎn):直線相交判斷,求相交交點(diǎn)
POJ 1556 The Doors (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1556
知識(shí)點(diǎn):簡(jiǎn)單圖論+簡(jiǎn)單計(jì)算幾何,先求線段相交,然后再用Dij求最短路。
POJ 2653 Pick-up sticks
http://acm.pku.edu.cn/JudgeOnline/problem?id=2653
知識(shí)點(diǎn):還是線段相交判斷
POJ 1066 Treasure Hunt
http://acm.pku.edu.cn/JudgeOnline/problem?id=1066
知識(shí)點(diǎn):線段相交判斷,不過必須先理解“走最少的門”是怎么一回事。
POJ 1410 Intersection
http://acm.pku.edu.cn/JudgeOnline/problem?id=1410
知識(shí)點(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ò)大根號(hào)2倍之后就避免了小數(shù)。
POJ 2826 An Easy Problem?! (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2826
問:兩條直線組成一個(gè)圖形,能容納多少雨水。很不簡(jiǎn)單的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è)知識(shí)點(diǎn),就是給出一個(gè)正方形(邊不與軸平行)的兩個(gè)對(duì)角線上的頂點(diǎn),需要你求出另外兩個(gè)點(diǎn)。必須掌握其方法。
POJ 1584 A Round Peg in a Ground Hole
http://acm.pku.edu.cn/JudgeOnline/problem?id=1584
知識(shí)點(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
知識(shí)點(diǎn):赤裸裸的凸包問題,凸包周長(zhǎng)加上圓周。
POJ 2007 Scrambled Polygon
http://acm.pku.edu.cn/JudgeOnline/problem?id=2007
知識(shí)點(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
知識(shí)點(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
知識(shí)點(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ù)號(hào)的選擇,這直接影響到半平面交的方向。
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
矩形離散化,線段樹處理,矩形交的周長(zhǎng),這個(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è)簡(jiǎn)單的二分。
六。隨機(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ī)化變步長(zhǎng)貪心法。
詳見:
http://hi.baidu.com/novosbirsk/blog/item/75983f138499f825dd54019b.html
七。解析幾何
這種題目本人不擅長(zhǎng),所以做得不多,模板很重要。當(dāng)然,熟練運(yùn)用叉積、點(diǎn)積的性質(zhì)還是很有用的。
POJ 1375 Intervals
http://acm.pku.edu.cn/JudgeOnline/problem?id=1375
知識(shí)點(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)對(duì)。可以暴力枚舉,也可以使用旋轉(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
閱讀(5710)
評(píng)論(1)
編輯
收藏
引用
評(píng)論
#
re: POJ 計(jì)算幾何入門題目推薦(轉(zhuǎn))
頂
ljl
評(píng)論于 2010-01-10 18:46
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
CALENDER
<
2009年9月
>
日
一
二
三
四
五
六
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
10
公告
留言簿
(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)
搜索
積分與排名
積分 - 133799
排名 - 193
最新評(píng)論
1.?re: POJ 1379 run away 模擬退火算法[未登錄]
為何按你的代碼交會(huì)RE呢?
--zhang
2.?re: POJ 1947 樹狀dp[未登錄]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--Sky
3.?re: 獨(dú)立集,覆蓋集,支配集,最大團(tuán),最大匹配
評(píng)論內(nèi)容較長(zhǎng),點(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才對(duì)
--hu
閱讀排行榜
1.?獨(dú)立集,覆蓋集,支配集,最大團(tuán),最大匹配(7930)
2.?原碼 補(bǔ)碼 反碼 移碼(6408)
3.?POJ 計(jì)算幾何入門題目推薦(轉(zhuǎn))(5710)
4.?POJ 1379 run away 模擬退火算法(4404)
5.?數(shù)據(jù)的浮點(diǎn)數(shù)表示(3940)
評(píng)論排行榜
1.?POJ 1379 run away 模擬退火算法(12)
2.?我真是太笨了……(10)
3.?PKU POJ 2186 Popular Cows 強(qiáng)連通分量(5)
4.?HDU HDOJ 1005 Number Sequence(4)
5.?數(shù)論中的一些公式(轉(zhuǎn))(4)
Powered By:
博客園
模板提供
:
滬江博客
日韩亚洲欧美久久久www综合网
|
亚洲国产精品成人AV无码久久综合影院
|
精品综合久久久久久98
|
久久国内免费视频
|
久久棈精品久久久久久噜噜
|
久久99精品久久久久久动态图
|
亚洲AⅤ优女AV综合久久久
|
亚洲国产视频久久
|
国产亚洲美女精品久久久久狼
|
欧美一级久久久久久久大
|
久久99精品国产自在现线小黄鸭
|
国产精品狼人久久久久影院
|
亚洲精品无码久久毛片
|
国内精品久久久久影院优
|
久久久久国产视频电影
|
2021久久精品国产99国产精品
|
一本大道久久东京热无码AV
|
99re久久精品国产首页2020
|
中文字幕无码av激情不卡久久
|
久久综合亚洲色HEZYO社区
|
久久久精品免费国产四虎
|
久久久精品人妻一区二区三区蜜桃
|
国产 亚洲 欧美 另类 久久
|
久久久久久久久久久久中文字幕
|
久久亚洲春色中文字幕久久久
|
亚洲一区二区三区日本久久九
|
久久人爽人人爽人人片AV
|
久久精品国产AV一区二区三区
|
超级碰久久免费公开视频
|
久久综合久久综合久久
|
99精品久久精品一区二区
|
久久天堂AV综合合色蜜桃网
|
久久99精品久久久久久水蜜桃
|
三上悠亚久久精品
|
久久亚洲精品无码AV红樱桃
|
久久香综合精品久久伊人
|
久久综合给合久久狠狠狠97色69
|
欧美熟妇另类久久久久久不卡
|
亚洲AV乱码久久精品蜜桃
|
久久久无码一区二区三区
|
久久国产精品99精品国产
|