zoukankan      html  css  js  c++  java
  • 折线分割平面问题

    我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。

    输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。

    Output
    对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

    Sample Input
    2
    1
    2
    Sample Output
    2
    7

    如果单纯的从折线的方向去思考就可能变得很困难,因为折线在第3条时就变得很大了,而且不好发现规律, 仔细观察,就可以发现,折线可以转变成2条相交得直线的一半,而2条相交直线分割的平面为4,1条折线为2,而4条直线为11,2条折线为4.可以发现直线的平面数是上一条直线分割的平面数加上这次的直线数,而折线的则为直线分割的平面数减去2n(折线数),即:
    n=折线数, m=直线数
    f(m)=f(m-1)+m;
    当m=2
    n; f(n)=f(m)-2*n;

  • 相关阅读:
    Redis3.2集群部署安装
    熟悉SQL Server 数据类型
    泛型的参数简介和参数约束
    流(Stream)与文件流(FileStream)
    C#提取双引号中的字符串
    数组,一维数组,二维数组,交错数组
    结构,枚举
    C#中唯一的三元运算符
    位运算
    异常处理语句
  • 原文地址:https://www.cnblogs.com/tianming1/p/10108965.html
Copyright © 2011-2022 走看看