SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Problem I :
Plane Division
原案:橋本
問題文:橋本
解答:宮村、橋本
解説:橋本
問題概要
• 以下が与えられる
  • 楕円 or 放物線 or 双曲線
  • N本の直線
• 平面がいくつの領域に分割されているか?
オイラーの多面体定理
• (面の数) = (辺の数) - (頂点の数) + 1
   • 平面上の場合 かつ グラフが連結の場合
• グラフを考える
 • すべての交点が内側に来るような十分に大きな円で囲まれていると仮
   定し、外側は無視
 • 頂点: 直線・曲線間の交点
 • 辺:  交点と交点の間の線
領域の数
• (頂点の数) = (内部の交点の数)+(外周の交点の数)
• (辺の数) = (内部の辺の数)+(外周の辺の数)
• (外周の辺の数) = (外周の交点の数)
• (面の数) = (辺の数)-(頂点の数)+1
        = (内部の辺の数)-(内部の交点の数)+1


• それぞれの線に対して他の線との交点がいくつあるかと、全体で交点がい
 くつあるかを求めれば良い
 • 3本以上の線が1点で交わる場合、全体の交点は1つと数える
辺の数
• n個の交点を持つ直線と放物線
   • n+1個の辺に分割できる
• n個の交点を持つ楕円
   • n個の辺に分割できる
• n個の交点を持つ双曲線
   • n+2個の辺に分割できる
連結でない場合
• 直線・放物線・双曲線
  • 外周との交点があるので連結になる
• 楕円
  • 交点がある場合は連結になる
  • 交点がない場合は答えに1を加える必要がある
円錐曲線の判別
• B^2 - 4AC < 0:楕円
• B^2 - 4AC = 0:放物線
• B^2 - 4AC > 0:双曲線
証明(1)
証明(2)
同一の直線の排除
直線同士の交点
直線と曲線の交点
サンプル入力
• OUPC!
ジャッジ解
• 橋本:187行 (Java)
• 宮村:190行 (C++)

Mais conteúdo relacionado

Mais de oupc

Magical
MagicalMagical
Magical
oupc
 
Gcd
GcdGcd
Gcd
oupc
 
Replace
ReplaceReplace
Replace
oupc
 
Goto
GotoGoto
Goto
oupc
 
Sanpo
SanpoSanpo
Sanpo
oupc
 
Paren
ParenParen
Paren
oupc
 
Palin
PalinPalin
Palin
oupc
 
Sort
SortSort
Sort
oupc
 
Sharp2sat
Sharp2satSharp2sat
Sharp2sat
oupc
 
Segpair
SegpairSegpair
Segpair
oupc
 
Rmq
RmqRmq
Rmq
oupc
 
Permutation
PermutationPermutation
Permutation
oupc
 
Knapsack
KnapsackKnapsack
Knapsack
oupc
 
Game
GameGame
Game
oupc
 
Four op
Four opFour op
Four op
oupc
 
Divisor
DivisorDivisor
Divisor
oupc
 
Anagram
AnagramAnagram
Anagram
oupc
 
Comment
CommentComment
Comment
oupc
 

Mais de oupc (20)

1
11
1
 
Magical
MagicalMagical
Magical
 
Gcd
GcdGcd
Gcd
 
Replace
ReplaceReplace
Replace
 
Goto
GotoGoto
Goto
 
Sanpo
SanpoSanpo
Sanpo
 
Paren
ParenParen
Paren
 
Palin
PalinPalin
Palin
 
Sort
SortSort
Sort
 
Sharp2sat
Sharp2satSharp2sat
Sharp2sat
 
Segpair
SegpairSegpair
Segpair
 
Rmq
RmqRmq
Rmq
 
Permutation
PermutationPermutation
Permutation
 
Knapsack
KnapsackKnapsack
Knapsack
 
Game
GameGame
Game
 
Four op
Four opFour op
Four op
 
Divisor
DivisorDivisor
Divisor
 
Anagram
AnagramAnagram
Anagram
 
A
AA
A
 
Comment
CommentComment
Comment
 

Division