《入门经典》——6.19

问题:你有一块椭圆的地。你可以在边界上选n个点,并两两连接得到n(n-1)/2条线段。他们最多能把土地分成多少部分?

分析:容易想起来我们在《具体数学》第一章遇到的折线分平面问题,但是这里并不需要你求最多的交点数而是最多的分割平面数,二者必然有着联系,我们可以基于最多交点的递推关系尝试找分割平面的递推关系,理论上是可行的,但是这里是递推套着递推,显得有点难操作。

尝试进行平面到空间的转化。

我们先将椭圆最外围的n个平面去掉,将得到的平面图形当中的交点“升起来”,这样我们将得到一个简单几何体,基于几何学中的欧拉公式V-E+F = 2,同时看到我们应该去掉n个顶点构成的“底面”,同时不要忘记我们刚才去掉的n个面,所以这道问题的最终答案是基于这个转化过后的几何体的V、E,即:

V-E+1+n.

那么现在我们面临的问题便是,如何找到这个几何体的V和E,基于转化的等价性,我们不妨再次回到平面图形进行分析,V即有n个起始点和所有交点的和,E即所有的连线被切成的段数,想计算他们既需要一定的组合计数的功底。

我们采取的策略是从某个固定点A开始,连接A剩余任意一点得到线段a,我们讨论线段a左右两侧的点的个数来进行计数。

对于V,对于某个固定点,然后遍历固定点和其余点的连线,该连线上会有∑i(n-2-i)个交点(能够看到这里这样计算是认为任意三个线段不相交,这其实与题设中“最多”的限制条件相呼应的),同时对一开始的固定点我们也需要进行遍历,即n∑i(n-2-i),这里需要注意的时候,对于固定点A连接的某个对角线a,其另一个端点是B,那么遍历固定点到B的时候,边会被重复计算2次,因此点会被重复计算2次,同时对于a上的交点,它不仅在a上,还在另外一条边上,因此该点又被重复计算了2次,综上得出结论,点被重复计算了4次。即V由如下公式进行计算:

对于E,我们基于上面的得到枚举出的对角线上的点,我们得到该对角线被分成i(n-2-i) + 1端,但是边重复记了2次,因此E有如下公式进行计算:

即记f(n)为该题的解,有如下计算公式:

时间: 2024-10-12 16:54:56

《入门经典》——6.19的相关文章

《算法竞赛入门经典》动态规划复习

codevs 4979 数塔 1 #define N 100 2 #include<iostream> 3 using namespace std; 4 #include<cstdio> 5 int a[N][N],b[N][N],n; 6 int main() 7 { 8 scanf("%d",&n); 9 for(int i=1;i<=n;++i) 10 for(int j=1;j<=i;++j) 11 { 12 scanf("

c语言入门经典(第5版)

文章转载:http://mrcaoyc.blog.163.com/blog/static/23939201520159135915734 文件大小:126MB 文件格式:PDF    [点击下载] C语言入门经典(第5版)  内容简介: C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad和其他苹果设备编程中使用的Objective-C语言的基础:C语言是在很多环境中(包括GNU项目)被广泛使用的C++语言的基础.C语言也是Li

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发.   一.UVaOJ http://uva.onlinejudge.org  西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ.   二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   "AO

棋盘覆盖问题(算法竞赛入门经典)

在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘.显然特殊方格在棋盘上出现的位置有 4^k 种情形.因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘.下图所示的特殊棋盘为 k=2 时 16 个特殊棋盘中的一个. 在棋盘覆盖问题中,要用下图中 4 中不同形态的 L 型骨牌覆盖一个给定的特殊棋牌上除特殊方格以外的所有方格,且任何 2 个 L 型骨牌不得重叠覆盖.易知,在任何一个 2^k * 2^k 的棋盘中,用到的 L 型

Hadoop入门经典:WordCount

以下程序在hadoop1.2.1上测试成功. 本例先将源代码呈现,然后详细说明执行步骤,最后对源代码及执行过程进行分析. 一.源代码 package org.jediael.hadoopdemo.wordcount; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path;

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

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html “AOAPC I”是刘汝佳(大

拓扑排序(算法竞赛入门经典)

拓扑排序的定义: 把每个变量看成一个点,”小于“或者”先后“关系看成有向边,则我们得到一个有向图.这样我们的任务实际上是把一个图的所有节点排序,使每一条有向边的(u,v)对应的u都排在v之前,在图论中,我们称之为拓扑排序.不难发现,如果一个有向图里存在回路,则不存在拓扑排序(如果设置一个标志数组,我们可以发现回路中的点一直处于正在被访问状态,这可以作为拓扑排序的结束条件). 我们先看一个样例: 下面我们用邻接矩阵存储这张图:   0 1 2 3 0 0 1 1 1 1 0 0 1 1 2 0 0

jQuery Mobile入门经典 ([美] Phil Dutson) 中文pdf扫描版

jQury Mobile是以全球最流行的jQuery为核心的跨平台移动Web应用开发框架,自从诞生以来,就赢得了业内专家和技术社区的强烈关注.<jQuery Mobile入门经典>采用直观.循序渐进的方法讲解了如何借助jQuery Mobile,通过一个单一的代码库来创建适合各种移动设备的移动应用.<jQuery Mobile入门经典>分为4部分:第1部分介绍了jQuery Mobile的基础入门知识:第2部分讲解了用户界面相关的知识,读者将学到如何使用jQuery Mobile来

TIA WinCC Professional入门经典(3) 创建画面与联合仿真

TIA WinCC Professional 入门经典>一共30篇,如果我们的文章您每篇都转发的话,会在结束时获赠完整视频,欢迎关注,欢迎转发! *************************************************************************************** *************************************************************************************** 本

HTML与CSS入门经典(第7版) PDF下载高清完整原版

需要学习的朋友可以通过网盘免费下载pdf版 http://putpan.com/fs/7yi6be2ns3hucc8a1/ 内容简介  · · · · · · 梅洛尼.莫里森编著的<HTML与CSS入门经典(第8版)>是畅销图书 <HTML与CSS入门经典>的最新版,和过去的版本相同,本书仍然采用直观 .循序渐进的方法来为读者讲解使用HTML与CSS创建并发布网页的过程,以 方便读者掌握.<HTML与CSS入门经典(第8版)>总共分为24章和1个附录 ,其涵盖的内容有理