hdoj 2050 折线分割平面 【几何模板】

折线分割平面

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 17229    Accepted Submission(s): 11890

Problem Description

我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。

Input

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。

Output

对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

Sample Input

2
1
2

Sample Output

2
7

代码:

/*折线分割平面最大分割
F(N) = F(N-1)*4*(N-1)+2-1; = 2*N^N-N+1;
*/
#include <stdio.h>
#include <string.h>
int ans[10005] = {0};
void f(){
	int i;
	ans[1] = 2;
	for(i = 2; i <= 10005; i ++) ans[i] = ans[i-1]+4*(i-1)+1;
}
int main(){
	f();
	int t, n;
	scanf("%d", &n);
	while(n --){
		scanf("%d", &t);
		printf("%d\n", ans[t]);
	}
	return 0;
}
 
时间: 2024-08-09 12:33:27

hdoj 2050 折线分割平面 【几何模板】的相关文章

hdoj 2050 折线分割平面

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 19216    Accepted Submission(s): 13205 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面

hdu 2050 折线分割平面 (递推)

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15709    Accepted Submission(s): 10836 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面

hdu 2050 折线分割平面(递推公式)

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 29965    Accepted Submission(s): 20289 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面

HDU - 2050 - 折线分割平面(数学 + dp)

题意: 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分 思路: 记住结论... 平面分割 n(n+1)/2+1 折现分割2n^2-n+1 封闭曲线分平面问题n^2-n+2 平面分割空间问题(n^3+5n)/6+1 dalao的推到过程:https://www.jianshu.com/p/18ed6a125e82 代码: #include<iostream> using n

HDU 2050 折线分割平面 (递推)

题意:略. 析:多写几个就找到规律了,第1条是2,2条时是7个,3条时是16,4条时是29,.... 那么规律就出来了2 * n * n + 1 - n; 也可以递推,第n条折线的两条边都与前n-1条折线的所有边都不平行,因为他们都是相交的:第n条折线的第一条边要与前n-1条折线的2*(n-1)条边都相交, 每与两个边相交就增加一个分割开的部分,所以有2*(n-1)-1个被分割的部分在这里被增加,另外一条第n条折线的边也增加2*(n-1)-1个部分,另外最后第n第折线的两边, 还要向外无限延伸,

折线分割平面(杭电2050)(递归的几种类型,数学推导)

折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17706    Accepted Submission(s): 12192 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平

HDU2050 折线分割平面【递推】【计算几何】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2050 题目大意: 求N条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线 最多可以将平面分成7部分,具体如下所示. 思路: 直线分割平面时,每增加N个结点,增加N+1个面.设f(N)是N条直线所能分成最多个面的个数. 则f(N) = f(N-1) + N,且f(1)= 2,推得:f(N) = N*(N+1)/2+1.当N为折线节点时, L(N) = f(2*N) - 2*N.因

折线分割平面(图形递推题)

hdu 折线分割平面 (2050) Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示. Input 输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(n大于0且n<=10000),表示折线的数量. Output 对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行. Samp

hdu2050 折线分割平面---递推

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2050 题目大意: 求n条折线分割平面的最大数目 思路: 先看n条直线的时候 一条直线 2个平面 两条直线 4个平面 三条直线 7个平面 四条直线 11个平面 设n条直线的时候,平面数目为f(n),当有n-1条直线时,平面最多被分成了f(n-1)个区域.则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点.这样就会得到n-1个交点.这些交点将第n条直线分为2条射线和n-2条线段.而