题目描述:

给一个椭圆,上面有n个点,两两连接这n个点,得到的线段能把椭圆分为几个区域?

思路:

首先想想,n个点在椭圆边缘,每两个点两两连接有\(C^2_n\)条线段,这些线段交于很多点,求这些线段最多把椭圆分成几个部分。

考虑到欧拉公式:在平面图中\(V-E+F=2\),\(V\)为顶点数,\(E\)是边数,\(F\)是面数。我们要求的是\(F\),只要求\(E\)与\(V\)就行了。那么怎么求\(V\)呢?

考虑每一个顶点,以这个顶点为基础,不断向其他点发出对角线,在对角线左边的点是\(i\),右边的便是\(n-2-i\)个点,将左边的点与右边的点相互连接,便会与这条对角线相交,交点有\(i(n-2-i)\)个,但是由于对每个点都枚举,这样会重复计算。重复计算了几次呢?我们知道,要产生一个交点需要两条线段,也就需要四个顶点,也就是说,遍历所有顶点后,对这一个交点事实上我们重复了四次,因为有四个顶点贡献了它。同理,边重复计算了两次。因此:\(V=n+\frac{n}{4}\sum_{i=0}^{n-2}i(n-2-i)\),\(E=n+\frac{n}{2}\sum_{i=0}^{n-2}(i(n-2-i)+1)\)。

所以椭圆内的面有$F=E-V+2-1=\frac{n}{4}\sum_{i=0}^{n-2}i(n-2-i)+\frac{n(n-1)}{2}+1=\frac{n(n-3)(n-2)(n-1)}{24}+\frac{n(n-1)}{2}+1 $。

由于\(\sum_{i=1}^n i(n+1-i)=\frac{n(n+1)(n+2)}{6}\)

证明:

\(n=1\)时公式成立,假设n=k时也成立

\(a_k=1*k+2*(k-1)+...+k*1\)

\(n=k+1\)时,

\(a_{k+1}=1*(k+1)+2*k+...+(k+1)*1\)

\(a_{k+1}-a{k}=1+2+...+k+1=\frac{(k+2)(k+1)}{2}\),\(a_{k+1}=a_k+\frac{(k+2)(k+1)}{2}=\frac{n(n+1)(n+2)}{6}+\frac{(k+2)(k+1)}{2}=\frac{(k+1)(k+2)(k+3)}{6}\).

证毕

注意如果找规律,1,2,4,8,16当n等于6时为31就不对了。

顺便说一下:

n个顶点形成的图要边数最大,就要形成完全图,完全图的边数为\(\frac{n(n-1)}{2}\)

参考文章:

weijifen000,UVa10213 多少块土地,https://blog.csdn.net/weijifen000/article/details/82709741

划分土地(how many pieces of land)的更多相关文章

  1. UVa 10213 (欧拉公式+Java大数) How Many Pieces of Land ?

    题意: 一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 分析: 首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案! 然后推公式吧,这里用到平面图的欧拉公 ...

  2. UVA - 10213 How Many Pieces of Land?(欧拉公式 + 高精度)

    圆上有n个点,位置不确定.问这些点两两连接成的线段,最多可以把圆划分成多少块平面? 欧拉公式:V-E+F = 2,V是点数,E是边数,F是面数. 答案是F=C(n,4)+C(n,2)+1,看的别人推的 ...

  3. UVa 10213 How Many Pieces of Land ? (计算几何+大数)欧拉定理

    题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. ...

  4. UVa 10213 How Many Pieces of Land ? (计算几何+大数)

    题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. ...

  5. 【笔记篇】斜率优化dp(五) USACO08MAR土地购(征)买(用)Land Acquisition

    好好的题目连个名字都不统一.. 看到这种最大最小的就先排个序嘛= =以x为第一关键字, y为第二关键字排序. 然后有一些\(x_i<=x_{i+1},且y_i<=y_{i+1}\)的土地就 ...

  6. 【分割圆】Uva 10213 - How Many Pieces of Land ?

    一个椭圆上有N个点,将这n个点两两相连,问最多能将这个椭圆分成多少片. 理清思路,慢慢推. 首先我们要想到欧拉公式:V+E-F=2 其中V为图上的顶点数,E为边数,F为平面数. 计算时的可以枚举点,从 ...

  7. UVa 10213 - How Many Pieces of Land ?(欧拉公式)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...

  9. ACM训练计划step 1 [非原创]

    (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成 ...

随机推荐

  1. mysql笔记7--一句查询语句的过程

    1 sql语句示例 select *from A where id=1 2 mysql基本架构图 (1)Mysql分为Server层和引擎层两个部分 (2)Server层包括连接器,查询缓存,分析器, ...

  2. python读取excel数据并以第一行标题加内容组成字典格式返回

    excel结构如图所示: 代码: import xlrd ''' 通用获取excel数据 @:param path excel文件路径 @:param sheet_name excel文件里面shee ...

  3. LeNet-5 卷积神经网络结构图

    LeNet-5是Yann LeCun在1998年设计的用于手写数字识别的卷积神经网络,当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一.可以说,Le ...

  4. AntDesign vue学习笔记(一)初始化项目

    最近学习AntDesign组件使用,官方Pro例子集成度太高,不容易学习,将从最基础组件一个一个搭建. 1.创建Vue Cli项目 2.引入ant design组件 $ cnpm i --save a ...

  5. Codeforces Round #604 (Div. 2) (题解)

    A. Beautiful String (暴力) 题目链接 题目大意: 给定一个字符串,只有 \(?a\ b\ c\ ?\) ,问是否存在一种将所有的 \(?\) 替换成 \(a\ b\ c\) ,使 ...

  6. Google Colab——零成本玩转深度学习

    前言 最近在学深度学习HyperLPR项目时,由于一直没有比较合适的设备训练深度学习的模型,所以在网上想找到提供模型训练,经过一段时间的搜索,最终发现了一个谷歌的产品--Google Colabora ...

  7. k8s 回滚应用

    kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 滚动更新是一次只更新一小部分 ...

  8. go 程序整个执行过程

  9. DevExpress中GridColumnCollection实现父子表数据绑定

    绑定数据: 父表: DataTable _parent = _dvFlt.ToTable().Copy(); 子表: DataTable _child = _dvLog.ToTable().Copy( ...

  10. Redis 集群:CLUSTERDOWN The cluster is down

    1.错误 (error)CLUSTERDOWN The cluster is down 2.问题表现 Java项目使用redis集群时报错, HTTP Status 500 - Could not g ...