划分土地(how many pieces of land)

题目描述:

给一个椭圆,上面有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

posted @ 2019-07-30 12:06  小张人  阅读(455)  评论(0编辑  收藏  举报
分享到: