码迷,mamicode.com
首页 > 其他好文 > 详细

hdu1290

时间:2014-07-26 02:15:26      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:hdu   algorithm   

由二维的分割问题可知,平面分割与线之间的交点有关,即交点决定射线和线段的条数,从而决定新增的区域数。
当有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,布布扣,bubuko.com

hdu1290

标签:hdu   algorithm   

原文地址:http://blog.csdn.net/greenapple_shan/article/details/38126139

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!