杭电 2050

折线分割平面

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

Total Submission(s): 16486    Accepted Submission(s): 11365

Problem Description

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

Input

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

Output

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

Sample Input

2
1
2

Sample Output

2
7

Author

lcy

Source

递推求解专题练习(For Beginner)

这道题可以看成是数学题 也可以看成事递推题 当然 递推题也属于数学题

利用数学知识 因为当第N条直线 他与前面的N-1条直线都有交点,因此形成了 N+1个平面

即 :第N条直线 增加了 N+1个平面 则总共形成的平面总数是 1+1+2+3+4+...+n=1+n*(n+1)/2;

要是N*2条平行线相交,则当最后一对平行线与其他直线相交的时候,n*2-1条直线与n*2条直线 都增加了

2*(n-1)+1那么第N对直线的时候,就是增加了2*(2*(n-1)+1)个平面即 4n-2个平面

则总共形成的平面式1+4n(n+1)/2-2n=2n^2+1;因为题上的是n条折线 故可将平行线头部相交 则平面数减少了一个

那么n条折线形成的最大面数是2n^2-n+1;

代码如下:

#include<stdio.h>

int main()

{

int n;

scanf("%d",&n);

 while(n--)

 {

 int m;

scanf("%d",&m);

printf("%d\n",2*m*m-m+1);

 }

 return 0;

}

当然也可以不必推导出来后来的公式

根据中间推导出来的 递推公式也能求解

代码如下 只是要用————int64型数据

#include<stdio.h>

__int64 a[10010];

int main()

{

int n,i,m;

a[0]=1;

a[1]=2;

for(i=1;i<10010;i++)

a[i]=a[i-1]+4*(i-1)+1;

scanf("%d",&n);

while(n--)

{

scanf("%d",&m);

printf("%I64d\n",a[m]);

}

}

杭电 2050

时间: 2024-07-30 11:23:00

杭电 2050的相关文章

折线分平面——杭电2050

根据直线分平面可知,由交点决定了射线和线段的条数,进而决定了新增的区域数.当n-1条折线时,区域数为f(n-1).为了使增加的区域最多,则折线的两边的线段要和n-1条折线的边,即2*(n-1)条线段相交.那么新增的线段数为4*(n-1),射线数为2.但要注意的是,折线本身相邻的两线段只能增加一个区域. 故:f(n)=f(n-1)+4(n-1)+2-1 =f(n-1)+4(n-1)+1 =f(n-2)+4(n-2)+4(n-1)+2 …… =f(1)+4+4*2+……+4(n-1)+(n-1) =

杭电2050

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

折线分割平面(杭电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条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平

杭电ACM题目分类

杭电ACM题目分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028. 1029.1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092. 1093.1094.1095.1096.1097.1098.1106.1108.1157.1163.1164.1170.1194.1196. 1197.1201.1202.1205.1219.1234.123

杭电水题

杭电OJ上的水题:C语言程序设计练习 题目如下: 链接: http://acm.hdu.edu.cn/showproblem.php?pid=2001 注:pid=后面可以为2000 - 2050中的任何一个(对应50道题目) 另外也可以做1000之后的(按顺序做,从1000开始把,1000开头的都蛮简单的) 原文地址:https://www.cnblogs.com/wyb666/p/10909202.html

杭电 HDU 1164 Eddy&#39;s research I

Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7117    Accepted Submission(s): 4268 Problem Description Eddy's interest is very extensive, recently  he is interested in prime

hdu 1016 Prime Ring Problem DFS解法 纪念我在杭电的第一百题

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29577    Accepted Submission(s): 13188 Problem Description A ring is compose of n circles as shown in diagram. Put natural num

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY

一个人的旅行 HDU杭电2066【dijkstra算法】

http://acm.hdu.edu.cn/showproblem.php?pid=2066 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景--草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女--眼看寒假就快到了,这么一大段时间,可不