zoukankan      html  css  js  c++  java
  • 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还不太熟悉。回头学吧~

  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/proverbs/p/2932830.html
Copyright © 2011-2022 走看看