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还不太熟悉。回头学吧~

  • 相关阅读:
    JAVA中字符串比较equals()和equalsIgnoreCase()的区别
    JAVA字母的大小写转换
    对于java线程的理解
    JAVA实现文件导出Excel
    处理数据库中的null值问题
    POJO、JAVABean、Entity的区别
    Mybatis的choose标签使用
    redis详解
    Spring框架基础解析
    利用 BackgroundService 固定时间间隔执行某动作
  • 原文地址:https://www.cnblogs.com/proverbs/p/2932830.html
Copyright © 2011-2022 走看看