传送门:

献给杭电五十周年校庆的礼物

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

Problem Description
或许你曾经牢骚满腹
或许你依然心怀忧伤
或许你近在咫尺
或许你我天各一方

对于每一个学子
母校
永远航行在
生命的海洋

今年是我们杭电建校五十周年,这是一个值得祝福的日子。我们该送给母校一个怎样的礼物呢?对于目前的大家来说,最好的礼物当然是省赛中的好成绩,我不能参赛,就送给学校一个DOOM III球形大蛋糕吧,这可是名牌,估计要花掉我半年的银子呢。

想象着正式校庆那一天,校长亲自操刀,把这个大蛋糕分给各地赶来祝贺的校友们,大家一定很高兴,呵呵,流口水了吧...

等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?

做不出这个题目,没有蛋糕吃的!
为-了-母-校-,为-了-蛋-糕-(不是为了DGMM,枫之羽最会浮想联翩...),加-油-!

 
Input
输入数据包含多个测试实例,每个实例占一行,每行包含一个整数n(1<=n<=1000),表示切的刀数。
 
Output
对于每组输入数据,请输出对应的蛋糕块数,每个测试实例输出一行。
 
Sample Input
1
2
3
 
Sample Output
2
4
8
 
Author
lcy
 
Source
 
Recommend
lcy
 
分析:
 
    线分割平面得到的最大平面数:
 
    第n条直线和n-1条直线相加,也就是最多有n-1个交点
    最多被分成n段,每一段二分成其所在区域,所以最多多了n个区域
 
    其递推公式即为:f(n)=f(n-1)+n;
 
    递归一下,就得到f(n)=1/2*(n*n+n)+1;
    平面分割空间得到的最大空间数:
 
    若要第四个平面将空间分为最多部分,就要它与前三个平面都相交,
    且交线不重合。则第四个平面与前三个平面都相交,交线不重合,
    有三条交线,这三条交线都在第四个平面内,
    那么要想使这四个平面分空间为最多部分,
    就要使这三条交线分一个平面为最多部分。
    显然,三条直线分一个平面最多为7部分。
    所以,四个平面分空间数最多为:
    三个平面最多分平面数加上三条直线最多分平面的部分数:8+7=15。
    推广到一般情况,n个平面最多可分空间为f(n)部分,
    第n个平面与n-1个平面分别相交且交线不重合,
    问题转化为n-1条直线最多将一个平面分成几部分。
 
    递推公式即为:g(n)=g(n-1)+f(n-1);
 
    把上面的公式递归一下,就得到通项公式:g(n)=(n*n*n+5*n+6)/6;
 
  code:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
int n;
while(~scanf("%d",&n))
{
LL x=(n*n*n+*n+)/;
printf("%I64d\n",x);
}
return ;
}

HDU 1290 献给杭电五十周年校庆的礼物(面分割空间 求得到的最大空间数目)的更多相关文章

  1. HDU 1290 献给杭电五十周年校庆的礼物

    题解:http://www.cnblogs.com/forever97/p/3522238.html #include <cstdio> int main() { int n; while ...

  2. hdu 1290_献给杭电五十周年校庆的礼物

    Description 或许你曾经牢骚满腹或许你依然心怀忧伤或许你近在咫尺或许你我天各一方 对于每一个学子母校 永远航行在生命的海洋 今年是我们杭电建校五十周年,这是一个值得祝福的日子.我们该送给母校 ...

  3. HDU ACM 1290 献给杭电五十周年校庆的礼物

    解析: 1.n条直线把平面切割成的区域数为: f(n)=f(n-1)+n=n(n+1)/2+1; 2.把空间切割为最多区域数的时候,第n个平面与前(n-1)个平面相交.且无三面共线,因此该平面与前(n ...

  4. [HDU1290]献给杭电五十周年校庆的礼物

    [HDU1290]献给杭电五十周年校庆的礼物 题目大意: 问\(n(n\le1000)\)个平面能够将一个三维空间分成几部分. 思路: 公式\(\frac{n^3+5n+6}6\). 源代码: #in ...

  5. HDU 献给杭电五十周年校庆的礼物 1290 递推

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1290 题目大意: n刀最多可以把一块蛋糕切多少块 题目分析: 假如我们按照立体考虑的话,这题就非常不 ...

  6. 8Q - 献给杭电五十周年校庆的礼物

    我不能参赛,就送给学校一个DOOM III球形大蛋糕吧.等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?  ...

  7. HDU 4940(杭电更多的学校#7 1006) Destroy Transportation system(到处乱混)

    职务地址:pid=4940">HDU 4940 当时这个题一看就看出来了是网络流的最小割.然后就一直在想建图. .然后突然发现,应该要让T集合的数目最少,不然仅仅要有两个,那这两个的每 ...

  8. HDU 4920(杭电多校训练#5 1010 题) Matrix multiplication(不知道该挂个什么帽子。。。)

    题目地址:pid=4920">HDU 4920 对这个题简直无语到极点. . .竟然O(n^3)的复杂度能过....方法有三.. 1:进行输入优化和输出优化. . (前提是你的输入优化 ...

  9. 【HDU】4908 (杭电 BC #3 1002题)BestCoder Sequence ——哈希

    BestCoder Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

随机推荐

  1. Java温故而知新(2)多线程详解

    多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境.     一.线程与进程的区别 多个进程的内部数据和状态都是完全独立的,而多线程 ...

  2. sql:function

    --查询权限函数 --1 declare @names varchar(3000) set @names='' select @names=@names+isnull(AdminPermissForm ...

  3. Hadoop序列化程序报错

    这个错误指向序列化类,注意实现的Read和Wirte顺序一定要一致,并且要使用基本类型,不要使用包装类. java.lang.Exception: java.io.EOFException at or ...

  4. Linux基础之命令练习Day1-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more,less,echo

    开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 使用命令退出虚拟终端2上登录的用户 使用快捷键切 ...

  5. 浅谈用于WEBGIS开发最重要的4个HTML5特性

    WebGIS是GIS与Internet相结合的产物,一般Internet的开发手段都可用于WEBGIS的开发,比较流行的有Javascript.FLash,到现在应该说市面上的WEBGIS产品和具有的 ...

  6. SpringBoot2.0+Mybatis+PageHelper+Redis实现缓存

    1.在maven引入相关的依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactI ...

  7. 【Udacity】异常值检测/删除

    Outlier Detection

  8. 【Python】面向对象编程思想

    概念 "笔"作为一个抽象的概念,可以被看成是一个类.而一支实实在在的笔,则是"笔"这种类型的对象. 一个类可以有属于它的函数,这种函数被称为类的"方法 ...

  9. 八、word-space与letter-space

    1.worde-space是增加或减少单词之间的空白,即字间距.例如: this     is      a     bag   2.letter-space是增加或减少字符间的空白,即字符间距.例如 ...

  10. 获取当前时间CTime

    std::string getcurtime(){ USES_CONVERSION; CTime z_CurTime; CString z_TimeStr; z_CurTime = CTime::Ge ...