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

解析:

1、n条直线把平面切割成的区域数为: f(n)=f(n-1)+n=n(n+1)/2+1;
2、把空间切割为最多区域数的时候,第n个平面与前(n-1)个平面相交。且无三面共线,因此该平面与前(n-1)个平面有(n-1)条交线。

这些交线把第n个平面切割为f(n-1)个区域。于是这个平面将原有空间一分为二,添加了f(n-1)个空间,得递推公式:g(n)=g(n-1)+f(n-1)=(n^3+5n)/6+1。

3、这类问题一般都有一个固定的公式,二维的通常是f(x)=a*x^2+b*x+c,三维的通常是f(x)=a*x^3+b*x^2+c*x+d, 用带定系数法求出各个系数就OK了。

#include<iostream>   
using namespace std;

int main()  
{
	int n;

	while(cin>>n)
	{
		cout<<(n*n*n+5*n)/6+1<<endl;
	}
    return 0;  
}


转载于:https://www.cnblogs.com/mengfanrong/p/5081689.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值