ZOJ 2589 欧拉公式

题意:

给定平面上的N个圆,问整个平面被分成了几个部分。

 

题解:

欧拉公式。欧拉公式好多啊,偶像啊!!~

( 欧拉公式 ) 设 G 是连通的平面图,n , m分别是其顶点数、边数和面数,则n – m + r = 2

:对边数 m 作数学归纳法。 
  当 m =0 时,因 G 是连通图,所以 G 只能是平凡图,结论显然成立。 
  假设当 m =时,结论成立。下面证明 m =k+1 的情况。 
  若 G 是树,则 G 至少有两片树叶。设  G 的一片树叶。令G=G - v ,则G仍是连通图,且G的边数m=m - 1=k ,由归纳假设知,n–m+ r = 2,而n=n - 1, r=r, 于是 
 m + r = (n+ 1) – (m+ 1) + r= n- m+ r = 2 。 
  若 G 不是树,则 G 中含有圈。设边  G 的某个圈上。令G=G - e ,则G仍是连通图,且G的边数m=m -1=k ,由归纳假设知n–m+ r = 2, 而n=n , r=r - 1 ,于是 
    n+ r = n– (m+ 1) + (r+ 1) =n–m+ r = 2。 
  证毕。 

 

( 欧拉公式的推广形式 ) 对于具有 k (k ≥ 1) 个连通分支的平面图 G ,有 n – m + r k+1 。 

 

 设 G 的连通分支分别为 G 1 , G 2, …, G k ,并设 G i 的顶点数、边数和面数分别为 n i , m ir i 。由欧拉公式可知 
  

 

暴力求圆的交点,然后去重的话,貌似set可以做,不过对set还不太熟悉。回头学吧~

 

 

 

posted @ 2013-02-25 22:52  proverbs  阅读(289)  评论(0编辑  收藏  举报