hdu1290

由二维的分割问题可知,平面分割与线之间的交点有关,即交点决定射线和线段的条数,从而决定新增的区域数。

当有n-1个平面时,分割的空间数为f(n-1)。要有最多的空间数,则第n个平面需与前n-1个平面相交,且不能有共同的交线,即最多有n-1 条交线。而这n-1条交线把第n个平面最多分割成g(n-1)个区域。(g(n)为直线分平面的个数)此平面将原有的空间一分为二,则最多增加g(n-1)个空间。

故:

f=f(n-1)+g(n-1)   (g(n)=n(n+1)/2+1)

=f(n-2)+g(n-2)+g(n-1)

……

=f(1)+g(1)+g(2)+……+g(n-1)

=2+(1*2+2*3+3*4+……+(n-1)n)/2+(n-1)

=(1+2^2+3^2+4^2+……+n^2-1-2-3-……-n )/2+n+1

=(n^3+5n)/6+1

/** \brief hdu 1290
 *
 * \param date 2014/7/25
 * \param state AC
 * \return
 *
 */

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    //cout << "Hello world!" << endl;
    //freopen("input.txt","r",stdin);
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        cout<<(n*n*n+5*n)/6+1<<endl;
    }
    return 0;
}

hdu1290

时间: 2024-10-29 00:52:00

hdu1290的相关文章

分割问题

[a]n条直线最多分平面问题 n条直线,最多可以把平面分为多少个区域? 见K 切糕 递推关系:都将原来所有的区域分成两半,因此第n条直线会在原来的基础上再添加n个平面 f[0]=1,f[1]=2...f[n]=f[n-1]+n 推导公式f[n]=n*(n+1)/2+1 [b]a的改进 每次使用两条直线分割? 即是n相当于2n f[0] = 1f[1] = 4f[2] = 11...f[n]= f(n - 1) + 2 * n - 1 + 2 * n = f(n - 1) + 4 * n - 1

分割问题(转)

[a]n条直线最多分平面问题 n条直线,最多可以把平面分为多少个区域? 见K 切糕 递推关系:都将原来所有的区域分成两半,因此第n条直线会在原来的基础上再添加n个平面 f[0]=1,f[1]=2...f[n]=f[n-1]+n 推导公式f[n]=n*(n+1)/2+1 [b]a的改进 每次使用两条直线分割? 即是n相当于2n f[0] = 1f[1] = 4f[2] = 11...f[n]= f(n - 1) + 2 * n - 1 + 2 * n = f(n - 1) + 4 * n - 1

献给杭电五十周年校庆的礼物

献给杭电五十周年校庆的礼物 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7897 Accepted Submission(s): 4325 Problem Description 或许你曾经牢骚满腹 或许你依然心怀忧伤 或许你近在咫尺 或许你我天各一方 对于每一个学子 母校 永远航行在 生命的海洋 今年是我们杭电建校五十周年,这是一个值得

hdu2050(递推)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050 (1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域. 析:可能你以前就见过这题目,这充其量是一道初中的思考题.但一个类型的题目还是从简单的入手,才容易发现规律.当有n-1条直线时,平面最多被分成了f(n-1)个区域.则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点.这样就会得到n-1个交点.这些交点将第n条直线分为2条射线和n-2条线断.而

折线分割平面(杭电2050)(递归的几种类型,数学推导)

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17706    Accepted Submission(s): 12192 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平

递推算法之平面分割问题总结

这是一类问题,首先由直线划分区域到折线划分区域,再延伸到封闭图形划分区域,最后在推广为平面划分空间的问题. 一.n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域. 析:可能你以前就见过这题目,这充其量是一道初中的思考题.当有n-1条直线时,平面最多被分成了f(n-1)个区域.则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点. 这样就会得到n-1个交点.这些交点将第n条直线分为2条射线和n-2条线断.而每条射线和线断将以有的区域一分为二.这样就多出了

hdoj 2050 折线分割平面

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 19216    Accepted Submission(s): 13205 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面

平面分割问题

(1) n条直线最多分平面问题 题目:n条直线,最多可以把平面分为多少个区域. 解析:       当有n-1条直线时,平面最多被分成了f(n-1)个区域.      则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点.      这样就会得到n-1个交点.这些交点将第n条直线分为2条射线和n-2条线断.      而每条射线和线断将以有的区域一分为二.这样就多出了2+(n-2)个区域. 故:f(n)=f(n-1)+n f(n-1)=f(n-2)+n-1 --