杭电1290
来源:互联网 发布:移动端底部广告js 编辑:程序博客网 时间:2024/06/05 00:28
自己想始终想不明白,看了别人的之后觉得其实不难,关键是不会转换
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
cout<<(n*n*n+5*n+6)/6<<endl;
}
}
分割思路:
这个首先要从最简单的情况来看了,即n个点可以把一条直线最多分成几部分,这个问题很容易结果是n+1
然后再看平面的情况,即n条直线可以把一个平面最多分成几部分(设为An).最多的情况是这样的,所有直线都相交,而且没有公共交点.这时候考虑递推关系,如果已经有了n条直线满足上述条件,那么再增加一条与这n条直线相交的直线,这条直线与其它n条直线有n个交点,被分成了n+1段,每一段将它所在的区域一分为二,那么得到递推式A(n+1)=A(n)+n+1.接着算出A(n)=(n^2+n+2)/2
再来看三维空间的情况,也就是你的问题n个平面可以把一个空间分成几部分(设为Bn).最多的情况是所有平面都相交且没有公共交线所有交线也没有公共交点.
这时来看递推的关系,如果已有满足上述条件的n个平面,再增加一个满足条件的平面,这个平面与其它n个平面有n条交线,这n条交线把这个平面分成(n^2+n+2)/2个部分,每个部分将它所在的区域一分为二.所以递推式是B(n+1)=B(n)+(n^2+n+2)/2.然后算出B(n)=(n^3+5n+6)/6
- 杭电1290
- 杭电1290
- 杭电1290 切蛋糕
- 杭电
- 杭电
- 杭电
- 杭电ACM 1290 献给杭电五十周年校庆的礼物
- 杭电OJ——1290 献给杭电五十周年校庆的礼物
- 杭电OJ——1290 献给杭电五十周年校庆的礼物
- 【杭电oj】1290 - 献给杭电五十周年校庆的礼物(数论)
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 拿到html中select下拉标签的选中值
- mysql负载均衡解决方案
- JDBC学习笔记-----jdbc性能优化
- PowerDesigner表只显示名字问题解决
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- 杭电1290
- jquery ui(二)draggable,droppable
- 13周任务一
- 搭建嵌入式交叉环境编译出现的问题
- Amoeba使用指南
- 黑马程序员_ Java基础(函数,数组)
- jquery ui(三)弹出窗口 dialog
- 上下文无关文法解析
- highchart 属性