划分土地(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

原文地址:https://www.cnblogs.com/zhanhonhao/p/11269236.html

时间: 2024-11-05 16:10:52

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

UVA 10213 How Many Pieces of Land? 欧拉定理

欧拉定理 V-E+F=C+1 Problem G How Many Pieces of Land? Input: Standard Input Output: Standard Output Time Limit: 3 seconds   You are given an elliptical shaped land and you are asked to choose n arbitrary points on its boundary. Then you connect all these

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

题意: 一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 分析: 首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案! 然后推公式吧,这里用到平面图的欧拉公式,V - E + F = 2,其中V表示顶点个数,E表示边的个数,F表示面的块数. 减去最外面的无限大的面,所求ans = E - V + 1 假设n≥4,从圆周上的一个点出发枚举一条对角线,左边有i个点,右边有n-2-i个点,将左右两边的点两两相连,就在这条对角线上得到个交点.每个交点被重复计算

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

题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块? 析:这个题用的是欧拉公式,在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.对于这个题只要计算V和E就好. 我们从一个顶点开始枚举对角线,这条线左边有 i 个点,那么右边有 n-i-2 个点,那么两边的连线在这条对角线上形成 i * (n-i-2) 个交点,得到 i * (n-i-2) + 1条线段,然而每个交点, 重复计算了四次,每条线段被重复计算了二次,所以总数就是,,V 加 n 的意思就是加上原来的

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

好好的题目连个名字都不统一.. 看到这种最大最小的就先排个序嘛= =以x为第一关键字, y为第二关键字排序. 然后有一些\(x_i<=x_{i+1},且y_i<=y_{i+1}\)的土地就完全可以在买\(i+1\)的时候顺便把\(i\)买了. 那么现在就剩下了x递增 y递减的一串. 可以证明一次一起买的应该是连续的一段, 因为中间的y一定比左端点的大, x一定比右端点的小, 那么一定可以在买左右端点的同时把中间的买走. 那就是常见套路了, 方程\(f[i]=f[j]+x[i]*y[\)\(j+

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

圆上有n个点,位置不确定.问这些点两两连接成的线段,最多可以把圆划分成多少块平面? 欧拉公式:V-E+F = 2,V是点数,E是边数,F是面数. 答案是F=C(n,4)+C(n,2)+1,看的别人推的..我实在推不出来. 写这篇博客的原因是第一次用Java的BigInteger. import java.math.BigInteger; import java.util.*; public class Main{ static Scanner sc = new Scanner(System.in

uva 10213 How Many Pieces of Land (欧拉公式计算多面体)

题意:在一个圆上取n个点,求最多能将圆分为多少块: 思路:欧拉公式计算多面体: 欧拉公式:简单多面体的顶点数V.面数F及棱数E之间的关系为V+F-E=2; 首先考虑点数v,有n个在圆上的点,任取一点x,考虑与x相连的每条对角线,假设对角线左边有i个顶点,则右边应有(n-2-i)个顶点,这些顶点相互连接可以产生i*(n-i-2)个顶点,再将所有的x与所有的对角线l求和.每个交点分别算了4次(一个交点由两条线产生,有4个圆上的点会计算到),除以4: V=n+n/4*(西格玛i=1到n-3) i*(n

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

一个椭圆上有N个点,将这n个点两两相连,问最多能将这个椭圆分成多少片. 理清思路,慢慢推. 首先我们要想到欧拉公式:V+E-F=2 其中V为图上的顶点数,E为边数,F为平面数. 计算时的可以枚举点,从一个固定点出发的对角线(注意是对角,不包括与相邻点的连线),它的左边有i个点,那么右边就有n-2-i个点.左边与右边的点两两相连,能在这一条对角线上相交i*(n-2-i)各点. 一个固定点能与其他非相邻点连接n-3条对角线,那么一个固定点的连线就会生成sigema(i=1,n-3)(i*(n-2-i

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

链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1154 题意: 有一块椭圆形的地.在边界上选n(0≤n<2^31)个点并两两连接得到n(n-1)/2条线段.它们最多能把地分成多少个部分? 分析: 本题需要用到欧拉公式:在平面图中,V-E+F=2,其中V是顶点数,E是边数,F是面数.因此,只需要计算V和E即可(注意还要减去外面

UVALive-7261 Xiongnu&#39;s Land

题目链接 https://vjudge.net/problem/UVALive-7261 题面 Description Wei Qing (died 106 BC) was a military general of the Western Han dynasty whose campaigns against the Xiongnu earned him great acclaim. He was a relative of Emperor Wu because he was the youn