折线分割平面

 

解题思路:1递推递推,先分析下直线分割平面的情况,增加第n条直线的时候,跟之前的直线最多有n-1个交点,此时分出的部分多出了(n-1)+1;

     2折线也是同理,f(1)=2,f(2)=7,先画好前面n-1条折线,当增加第n条拆线时,此时与图形新的交点最多有2*2(n-1)个,所以分出的部分多出了2*2(n-1)+1   所以推出f(n)=f(n-1)+4*(n-1)+1,n>=3
---------------------
作者:walker1222
来源:CSDN
原文:https://blog.csdn.net/a576323437/article/details/6163850
版权声明:本文为博主原创文章,转载请附上博文链接!

 如果当前有 n 条直线,新增加一条直线(第 n+1 条直线),可以多出来 n 个交点(新的直线和之前所有的直线都有交点),而多出来 n 个交点对应到可以多出 n+1 个平面(比如从两条线,又新增一条线时,新的线和两条线都相交,作用在三个区域上,对这三个区域切分,增加三个平面)。

#include <cstdio>

long long int memo[10010];

long long int f(int n)
{
	memo[1] = 2;
	memo[2] = 7;
	
	for(int i = 3; i <= n; ++ i)
	{
		memo[i] = memo[i - 1] + 4*(i - 1) + 1;
	}
	
	return memo[n];
}

int main()
{
	int n, m;
	scanf("%d", &n);
	
	while(n --)
	{
		scanf("%d", &m);
		printf("%lld\n", f(m));
	}
	
	return 0;
} 

  

posted @ 2019-08-03 12:22  青衫客36  阅读(239)  评论(0编辑  收藏  举报