折线分割平面
解题思路: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; }