关闭

【杭电-oj】-2050-折线分割平面

243人阅读 评论(0) 收藏 举报
分类:

折线分割平面

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 24974    Accepted Submission(s): 16969


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

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

 

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

 

Sample Input
2 1 2
 

Sample Output
2 7
 

规律:a[n]=(2*(n-1)-1)*2+3+a[n-1];
第n条折线的两条边都与前n-1条折线的所有边相交,
第n条折线的第一条边要与前n-1条折线的2*(n-1)条边都相交,每与两个边相交就增加一个分割开的部分,所以有2*(n-1)-1个被分割的部分在这里被增加,另外一条第n条折线的边也增加2*(n-1)-1个部分,最后第n条折线的两边还要向外无限延伸,与它们相交的最后一个前n-1个折线中的边与其分别构成了一个多余的部分,而第n条折线的头部也是一个独立的部分,所以2*(n-1)-1再+3,就是比n-1条折线分割成的部分多出的部分数,再加上a[n-1]数目即可


#include<cstdio>
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		int a[10010];
		a[1]=2;
		scanf("%d",&n);
		for(int i=2;i<=10000;i++)
			a[i]=2*(2*(i-1)-1)+3+a[i-1];
		printf("%d\n",a[n]);
	}
	return 0;
 } 




0
0
查看评论

杭电OJ——2050 折线分割平面

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

【裴波拉契数列】杭电2050-折线分割平面

转载自 http://www.cnblogs.com/epodongfeng/p/3679523.html 题目: 折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit...
  • weixin_36306051
  • weixin_36306051
  • 2017-02-11 13:50
  • 283

杭电ACM 2050 折线分割平面

http://acm.hdu.edu.cn/showproblem.php?pid=2050 平面上有n条折线,问这些折线最多能将平面分割成多少块? 看到过一到比较简单的类似体秘,说的是n条直线能将平面分割成多少块。答案是1+(1+n)*n/2. 我们可以把n条折线看成2*n条直线,只不过...
  • xujinsmile
  • xujinsmile
  • 2012-03-17 11:42
  • 1211

杭电oj——2050折线分割平面

因为原题有图,我就直接放链接了 原题链接 http://acm.hdu.edu.cn/showproblem.php?pid=2050 题意:中文题= = 思路: 1.先看N条直线相交最多能弄出多少个平面 当添加第N条直线的时候,要想弄出的平面最多,必须和前面的N-1条直线都相...
  • Wenen_
  • Wenen_
  • 2017-02-15 12:21
  • 367

杭电OJ题目 1000

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的...
  • nxy006
  • nxy006
  • 2015-06-27 20:49
  • 4328

杭电OJ 2015

2016-10-22(已AC)#include<stdio.h>int main(void) { int n,m,j,k,a,a1; while(scanf("%d",&n)!=EOF) { scanf("%d...
  • ZHangFFYY
  • ZHangFFYY
  • 2016-11-02 13:50
  • 763

杭电oj 1010

先看题目 Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submissi...
  • u011488028
  • u011488028
  • 2015-12-02 09:38
  • 2250

HDU 2050- 折线分割平面 -递推求解

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050 递推过程:  通过画图可以看出,平面数=顶点数+交点数+1  假设F(i-1)已知,则另一条折线将平面拆分要使得平面数最大,则必须该折线经过其他所有折线,因此F(i)...
  • Holyang_1013197377
  • Holyang_1013197377
  • 2015-04-26 21:12
  • 345

杭电oj题库分类

分类一:   基础题: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、...
  • zwj1452267376
  • zwj1452267376
  • 2014-12-23 21:52
  • 2064

杭电OJ测试数据挖掘计划

前言 首先,HDUOJ已经出现多年,上面的大部分经典题目已经被被人咀嚼透烂了,也能通过搜索引擎搜索到许多现成的代码。如果有测试数据,那么就能拿自己的程序的输出与前人的程序的输出进行比对,找出问题所在。 然后,对于没有被别人嚼烂的题目,也可以借助测试数据,更好地分析程序问题所在,不至于仅仅过了简单...
  • hoxily
  • hoxily
  • 2015-03-28 16:31
  • 933
    个人资料
    • 访问:101833次
    • 积分:4500
    • 等级:
    • 排名:第7855名
    • 原创:362篇
    • 转载:1篇
    • 译文:0篇
    • 评论:14条