培訓- 8 計算幾何学
計算幾何学
c2251393 December 5, 2013
1
的 的 的 3D
的 題 (
IOI)
平面的
1.1 (EPS)
平面 的 的
double long double 的上
的
1.0 + 1.0 = 1.99999999999999999 1.0 + 1.0̸= 2.0 式 題
的 EP S = 10−10
的 ≤EP S 解 題
1.2 積
⃗a ⃗b的 積 ⃗a·⃗b
⃗a·⃗b =xaxb+yayb =|⃗a||⃗b|cosθ
θ 的
I
1.3 平面上的外積 計算幾何学
1.3 平面上的外積
⃗a ⃗b的外積 ⃗a×⃗b
⃗a×⃗b=xayb−yaxb =|⃗a||⃗b|sinθ
的 的平 面積 外 ⃗b ⃗a 的
( ) ⃗a×⃗b >0 外積的 的
1.4
P1P2, Q1Q2 P1, P2, Q1, Q2 的
1. 式 (
)
2. P1, P2 Q1Q2 Q1, Q2 P1P2 式
(−−→
P1P2×−−−→
P1Q1)(−−→
P1P2×−−−→
P1Q2)<0 (−−−→
Q1Q2×−−−→
Q1P1)(−−−→
Q1Q2×−−−→
Q1P2)<0
1.5 面積
的 P1, P2, P3, , , Pn 面積 ( Pn+1 =P1)
1 2|
∑n
1
−−→OPk×−−−−→
OPk+1|
(面積 ) 式
O(n)
1.6
A n P1, P2, , , Pn A
II
1.7 凸包 計算幾何学
A 外 的 A ;
A 外 ( A 上的 )
外
凸 A 的 A
的 的 −−→
APk×−−−−→
APk+1 外積 A
凸 外 0 A 上 0 A
上
1.7 凸包
的 的
的凸 上
凸包 上
x x y 的
( ) ( 上) 凸包上 (
) 上 的凸包 stack 上 凸包的
2 stack 2 A, B(B )
的 C A−B−C B 凸包上 B
stack 2 A−B−C C stack
stack 的 上
的凸包 的 式 的凸包 合併
的凸包
O(n)( )
1.8 Exercises!!!
1. Ch -6. (STEP5 0052)
N M 的
外 (N, M ≤1000)
2. (NPSC 2012 )
平面上 N 包 的 面積
III
2.解題技巧 1 計算幾何学
2 解題技巧 1
解題 的技巧 解 上的
技巧 題 解
2.1 Meet in the middle
HOJ 132 30 c(−109 ≤ c ≤ 109)
合 S ∑
i∈Sci = 0
的 O(2n) 的
合 的 ?
發 合 15 15 合
併 15 15 的 合 (215 + 215)
的 合 的 合 合
0的 合的 平 O(lgn) 的
的 O(2n2 ×2 + 2n2 ×lg2n2) 500000 的
Exercises!!
1. Balanced Cow Subset (USACO open 2012 gold)
n(≤ 20) 的 mi
的 = 的 "
的 "
2.2 啟發式合併
HOJ 191 (100000 ) 上 wi 的
的 的
解
的 O(N2)
IV
2.2 啟發式合併 計算幾何学
的
的 的 lower bound
upper bound 的 min
外的 :
的 的 合
的
upper bound lower bound 平 的" 合"
的 O(N2lgN) OAOOO
的 合併平 的 的
的 ....
? 發 的 "N× 的 × 的
" 的 ? 的
的 平 的 x 的平
2x 的平 N 的
( 的平 ) lgN 平
O(N lg2N) Exercises!!
1. Tree rotations (POI XVIII)
1 ∼n
的 S 的
的 的 S 的
V