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

  • 相关阅读:
    windows和linux下安装 redis
    YII1 配置redis并使用
    YII1 安装smarty模版引擎
    thinkphp5 阿里云短信 发送多参数的短信
    利用securecrt或者xshell 下载服务器端文件到本地windows系统中
    Swift 内存管理
    扩展和协议
    继承
    构造与析构
    方法
  • 原文地址:https://www.cnblogs.com/proverbs/p/2932830.html
Copyright © 2011-2022 走看看