2050——折线分割平面
2014-02-08 11:03
162 查看
Problem Description
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
![](http://acm.hdu.edu.cn/data/images/C40-1008-1.jpg)
Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。
Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。
Sample Input
2
1
2
Sample Output
2
7
![](https://img-blog.csdn.net/20140208110234562)
第n条直线与之前n-1条直线都有交点,增加了n个区域
f(n)=1+1+···+n,即f(n)=n×(n+1)÷2+1
f(n)=2n×(2n+1)÷2+1
由于只有叉的一半,n条折线须减去n个叉内区域
由于叉的另外一半将叉外的公共区域分成n+1个区域,n条折线须减去n个区域
f(n)=2n×(2n+1)÷2+1-n-n,即f(n)=2n²-n+1
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。
![](http://acm.hdu.edu.cn/data/images/C40-1008-1.jpg)
Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。
Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。
Sample Input
2
1
2
Sample Output
2
7
折线分割平面公式
#include <stdio.h> main() { int c,i,n,a[10001]; for(i=1;i<10001;i++) a[i]=2*i*i-i+1; scanf("%d",&c); while(c--) { scanf("%d",&n); printf("%d\n",a ); } }
直线分割平面
平面原本有一个区域第n条直线与之前n-1条直线都有交点,增加了n个区域
f(n)=1+1+···+n,即f(n)=n×(n+1)÷2+1
叉分割平面
类似直线f(n)=2n×(2n+1)÷2+1
折线分割平面
类似叉由于只有叉的一半,n条折线须减去n个叉内区域
由于叉的另外一半将叉外的公共区域分成n+1个区域,n条折线须减去n个区域
f(n)=2n×(2n+1)÷2+1-n-n,即f(n)=2n²-n+1
相关文章推荐
- hdu 2050 折线分割平面
- hdu 2050 折线分割平面 #DP#递推公式
- HDU 2050 折线分割平面
- hdoj 2050 折线分割平面
- HDU 2050 - 折线分割平面
- hdu 2050 折线分割平面 递推
- HDU ACM 11 2050 折线分割平面
- hdu 2050 折线分割平面
- HDU 2050 折线分割平面
- HDU 2050 折线分割平面 -
- hdu-2050-折线分割平面
- hdu 2050 折线分割平面(递推,dp)
- hdu 2050 折线分割平面
- (step 3.1.5)hdu 2050(折线分割平面)
- 【杭电】[2050]折线分割平面
- HDOJ, 杭电2050折线分割平面
- HDU 2050 折线分割平面 (递推)
- HDU:2050 折线分割平面(规律,数学,推导)
- 杭电 2050 折线分割平面
- HDOJ 2050 折线分割平面