1. 程式人生 > >ACM計算幾何題目推薦

ACM計算幾何題目推薦

Part.1---點,線,面,形基本關係,點積叉積的理解

Part.2---凸包 面積 公式 矩形切割

Part.3---半平面交

Part.4---雜題 解析幾何 旋轉卡殼 綜合問題

Part.5---。。。。。

Part.6---三維幾何

=============================================================


一。點,線,面,形基本關係,點積叉積的理解
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

一個矩形,有被若干直線分成N個格子,給出一個點的座標,問你該點位於哪個點中。
知識點:其實就是點在凸四邊形內的判斷,若利用叉積的性質,可以二分求解。

POJ 3304 Segments
http://acm.pku.edu.cn/JudgeOnline/problem?id=3304
知識點:線段與直線相交,注意列舉時重合點的處理

POJ 1269 Intersecting Lines 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1269
知識點:直線相交判斷,求相交交點

POJ 1556 The Doors (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1556

知識點:簡單圖論+簡單計算幾何,先求線段相交,然後再用Dij求最短路。

POJ 2653 Pick-up sticks 
http://acm.pku.edu.cn/JudgeOnline/problem?id=2653
知識點:還是線段相交判斷

POJ 1066 Treasure Hunt 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1066
知識點:線段相交判斷,不過必須先理解“走最少的門”是怎麼一回事。

POJ 1410 Intersection 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1410
知識點:線段與矩形相交。正確理解題意中相交的定義。

詳見:http://hi.baidu.com/novosbirsk/blog/item/68c682c67e8d1f1d9d163df0.html

POJ 1696 Space Ant (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1696
德黑蘭賽區的好題目。需要理解點積叉積的性質

POJ 3347 Kadj Squares 
http://acm.pku.edu.cn/JudgeOnline/problem?id=3347
本人的方法極度猥瑣。複雜的線段相交問題。這個題目是計算幾何的擴大資料運算的典型應用,擴大根號2倍之後就避免了小數。

POJ 2826 An Easy Problem?! (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2826
問:兩條直線組成一個圖形,能容納多少雨水。很不簡單的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
判斷幾何體是否相交,不過輸入輸出很噁心。
此外,還有一個知識點,就是給出一個正方形(邊不與軸平行)的兩個對角線上的頂點,需要你求出另外兩個點。必須掌握其方法。

POJ 1584 A Round Peg in a Ground Hole 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1584
知識點:點到直線距離,圓與多邊形相交,多邊形是否為凸

POJ 2074 Line of Sight (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2074
與視線問題的解法,關鍵是求過兩點的直線方程,以及直線與線段的交點。資料有一個trick,要小心。

二。凸包問題

POJ 1113 Wall 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1113
知識點:赤裸裸的凸包問題,凸包周長加上圓周。

POJ 2007 Scrambled Polygon 
http://acm.pku.edu.cn/JudgeOnline/problem?id=2007
知識點:凸包,按極角序輸出方案

POJ 1873 The Fortified Forest (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1873
World Final的水題,先求凸包,然後再搜尋。由於規模不大,可以使用位運算列舉。
詳見:http://hi.baidu.com/novosbirsk/blog/item/333abd54c7f22c52574e0067.html

POJ 1228 Grandpa's Estate (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1228
求凸包頂點數目,很多人求凸包的模板是會多出點的,雖然求面積時能得到正確答案,但是在這個題目就會出問題。此外,還要正確理解凸包的性質。

POJ 3348 Cows 
http://acm.pku.edu.cn/JudgeOnline/problem?id=3348
凸包面積計算

三。面積問題,公式問題

POJ 1654 Area 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1654
知識點:利用有向面積(叉積)計算多邊形面積

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公式的應用,多邊形與整點的關係。(存在一個GCD的關係)

四。半平面交

半平面交的主要應用是判斷多邊形是否存在核,還可以解決一些與線性方程組可行區域相關的問題(就是高中時的那些)。

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
知識點:半平面交求多邊形的核,存在性判斷

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
給出一個多邊形,求裡面的一個點,其距離離多邊形的邊界最遠,也就是多邊形中最大半徑圓。
可以使用半平面交+二分法解。二分這個距離,邊向內逼近,直到達到精度。

POJ 3384 Feng Shui (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3384
半平面交實際應用,用兩個圓覆蓋一個多邊形,問最多能覆蓋多邊形的面積。
解法:用半平面交將多邊形的每條邊一起向“內”推進R,得到新的多邊形,然後求多邊形的最遠兩點。

POJ 1755 Triathlon (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1755
半平面交判斷不等式是否有解。注意不等式在轉化時正負號的選擇,這直接影響到半平面交的方向。

POJ 2540 Hotter Colder 
http://acm.pku.edu.cn/JudgeOnline/problem?id=2540
半平面交求線性規劃可行區域的面積。

POJ 2451 Uyuw's Concert
http://acm.pku.edu.cn/JudgeOnline/problem?id=2451
Zzy專為他那篇nlogn演算法解決半平面交問題的論文而出的題目。

五。計算幾何背景,實際上解題的關鍵是其他問題(資料結構、組合數學,或者是列舉思想)
若干道經典的離散化+掃描線的題目,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
矩形離散化,線段樹處理,矩形交的周長,這個題目的資料比較強。線段樹必須高效。 

POJ 3565 Ants (推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=3565
計算幾何中的調整思想,有點像排序。要用到線段相交的判斷。
詳見:http://hi.baidu.com/novosbirsk/blog/item/fb668cf0f362bec47931aae2.html

POJ 3695 Rectangles    
http://acm.pku.edu.cn/JudgeOnline/problem?id=3695
又是矩形交的面積,但是由於是多次查詢,而且矩形不多,使用組合數學中的容斥原理解決之最適合。線段樹是通法,但是除了線段樹,還有其他可行的方法。

POJ 2002 Squares    
http://acm.pku.edu.cn/JudgeOnline/problem?id=2002
列舉思想,求平面上若干個點最多能組成多少個正方形,點的Hash

POJ 1434 Fill the Cisterns!(推薦)
http://acm.pku.edu.cn/JudgeOnline/problem?id=1434
一開始發昏了,準備弄個線段樹。其實只是個簡單的二分。

六。隨機演算法
POJ 2420 A Star not a Tree? 
http://acm.pku.edu.cn/JudgeOnline/problem?id=2420
多邊形的費馬點。所謂費馬點,就是多邊形中一個點P,該點到其他點的距離之和最短。四邊形以上的多邊形沒有公式求費馬點,因此可以使用隨機化變步長貪心法。
詳見:http://hi.baidu.com/novosbirsk/blog/item/75983f138499f825dd54019b.html

七。解析幾何
這種題目本人不擅長,所以做得不多,模板很重要。當然,熟練運用叉積、點積的性質還是很有用的。
POJ 1375 Intervals 
http://acm.pku.edu.cn/JudgeOnline/problem?id=1375
知識點:過圓外一點求與圓的切線

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
求球面上兩個點的距離,而且給的是地理經緯座標。

POJ 1106 Transmitters
http://acm.pku.edu.cn/JudgeOnline/problem?id=1106
角度排序,知道斜率求角度,使用atan函式。

相關推薦

ACM計算幾何題目推薦

Part.1---點,線,面,形基本關係,點積叉積的理解 Part.2---凸包 面積 公式 矩形切割 Part.3---半平面交 Part.4---雜題 解析幾何 旋轉卡殼 綜合問題 Part.5---。。。。。 Part.6---三維幾何 ========

ACM計算幾何總結

文章目錄 1 幾何基礎 2 點與向量 2.1 手動實現 2.2 複數黑科技 3 點與線 3.1 直線定義 3.2 求兩直線交點 3.3 求點到直線距離 3.4 求點到線段距離 3

ACM 計算幾何總結

1 幾何基礎 #include <cstdio> #include <cmath> using namespace std; const double pi = acos(-1.0); const double inf = 1e100; con

ACM-計算幾何之Scrambled Polygon——poj2007

Scrambled Polygon Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 6513 Accepted: 3092 Description A closed polygon is a figur

ACM計算幾何--三角形問題

#include <math.h> struct point{double x,y;}; struct line{point a,b;}; double distance(point p1,point p2){ return s

ACM-計算幾何之Segments——poj3304

Segments Description Given n segments in the two dimensional space, write a program, which determines if there exists a line such that af

ACM各個專題題目推薦

OJ上的一些水題(可用來練手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本演算法: (1)列舉. (poj1753,poj2965) (2)貪心(poj1328,poj2109,

ACM計算幾何

Computational Geometry 計算幾何     ACM中基本是最麻煩的部分。     幾何程式碼都要自己寫,STL中也沒有。基本上。     struct point  

“玲瓏杯”ACM比賽 Round #18 A 計算幾何你瞎暴力(瞎暴力)

base i++ xmlns element thml tex math 可能 ive 題目鏈接:http://www.ifrog.cc/acm/problem/1143 題意:如果從一個坐標為 (x1,y1,z1)(x1,y1,z1)的教室走到(x2,y2,z2)(x2

迫不及待推薦一個C++計算幾何

怎麼發現的 有事沒事就喜歡找一些感興趣的問題,然後循著問題中的答案或相關的引用到處漫遊,點連結或者偶爾放狗搜一下,然後就找到這個地方了: 謹慎使用: 這個庫應該是不錯的;但是感覺缺乏Eigen那樣嚴格的程式碼的peer review機制和大量而有效的測試

ACM模組解析之 計算幾何

計算幾何一.簡介計算幾何屬於ACM演算法中比較冷門的分類,在省賽中只在前幾年考察過,這兩年還沒有考過,而且和高精度計算一樣,遇到題目主要靠套模板,因此對題意的理解至關重要,而且往往題目描述還常為英文,所以還是需要一定的題量支撐,來判斷具體考察的是什麼。二.題型分類下列僅為一部

HDU 5581 Infinity Point Sets ACM/ICPC 2015 上海區域賽 I 計算幾何+組合計數

2015年上海區域賽的題目,這道題還是比較有趣的,反正我是WA哭了。。 題目在HDU上也有,連結: 題目的意思是,給出二維空間裡n個點的座標,求有多少個不同的子點集不是無限點集。無限點集的定義是,將點集中的點兩兩相連,線段產生的交點加入點集中,繼續上面的操作,如果操作能

HDOJ2438:Turn the corner(計算幾何 + 三分)

scan can 計算 closed 4.5 pri cross cli idt Problem Description Mr. West bought a new car! So he is travelling around the city.One day he c

洛谷P1027 Car的旅行路線 計算幾何 圖論最短路

name ani 但是 ret sqrt bsp include struct == 題意 求某城到某城的最小花費 一個城中有四個機場,一個城中的機場相互可達,用公路到達,但是不同城的公路的單位路程的費不同,兩個不同城的機場(我不知道相同城可不可以)可以通過機場到達,且飛機

BZOJ 3210 花神的澆花集會 計算幾何- -?

i++ -1 相等 return spa ret 我們 坐標 track 題目大意:給定平面上的n個點,求一個點到這n個點的切比雪夫距離之和最小 與3170不同的是這次選擇的點無需是n個點中的一個 首先將每一個點(x,y)變為(x+y,x-y) 這樣新點

BZOJ 1027 JSOI2007 合金 計算幾何+Floyd

_id sni memset ems jsb b2c mat eas fab 題目大意:給定一些合金,選擇最少的合金,使這些合金能夠按比例合成要求的合金 首先這題的想法特別奇異 看這題幹怎麽會想到計算幾何 並且計算幾何又怎麽會跟Floyd掛邊 好強大 首先因為a

POJ3347 Kadj Squares(計算幾何&區間覆蓋)

ica nsis -s ber pro ins ascend char rst 題目鏈接:   http://poj.org/problem?id=3347 題目描述: Kadj Squares Description In this problem, you are

計算幾何】CDOJ1720 幾何幾何

-a section fin wap line [0 turn tor std #include<cstdio> #include<algorithm> #include<cmath> using namespace std; #d

計算幾何+極角排序+爆ll】E. Convex

lfa string ret == mes 過程 一個 區別 problem https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/E 【題意】 給定n個點的坐標,可以選擇其中的四個點構造凸四邊形,問最多能構造

POJ3178 計算幾何+DP

name esp urn def color %d r+ continue 區間dp 1 //一些點一些圓,過圓不能連線,相鄰點不能連線,問最多連幾條線 2 //計算幾何模板+區間dp 3 //關鍵是判斷圓和線段是否相交 4 #include <cstd