博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1290
阅读量:6589 次
发布时间:2019-06-24

本文共 750 字,大约阅读时间需要 2 分钟。

由二维的切割问题可知,平面切割与线之间的交点有关,即交点决定射线和线段的条数,从而决定新增的区域数。
当有n-1个平面时,切割的空间数为f(n-1)。要有最多的空间数。则第n个平面需与前n-1个平面相交,且不能有共同的交线。即最多有n-1 条交线。而这n-1条交线把第n个平面最多切割成g(n-1)个区域。

(g(n)为直线分平面的个数)此平面将原有的空间一分为二,则最多添加g(n-1)个空间。

故:

f=f(n-1)+g(n-1)   (g(n)=n(n+1)/2+1)
=f(n-2)+g(n-2)+g(n-1)
……
=f(1)+g(1)+g(2)+……+g(n-1)
=2+(1*2+2*3+3*4+……+(n-1)n)/2+(n-1)
=(1+2^2+3^2+4^2+……+n^2-1-2-3-……-n )/2+n+1

=(n^3+5n)/6+1

/** \brief hdu 1290 * * \param date 2014/7/25 * \param state AC * \return * */#include 
#include
using namespace std;int main(){ //cout << "Hello world!" << endl; //freopen("input.txt","r",stdin); int n; while(scanf("%d",&n)!=EOF) { cout<<(n*n*n+5*n)/6+1<

转载于:https://www.cnblogs.com/gavanwanggw/p/7068936.html

你可能感兴趣的文章
向量积满足分配律
查看>>
微信jssdk配置的问题,使用MVC制作的demo
查看>>
C# 常用命名空间
查看>>
使用Unity开发项目的一点经验
查看>>
线性代数与MATLAB2
查看>>
url组成部分详解
查看>>
蛇形填数
查看>>
【Objective-C】08-self关键字
查看>>
MySQL的一些常用命令
查看>>
java工厂模式的学习
查看>>
字符串format函数使用
查看>>
python 读写文件
查看>>
solr 5.0.0 bin/start脚本详细解析
查看>>
解析Disruptor:写入ring buffer
查看>>
mac环境下安装mysql
查看>>
岭回归&Lasso回归
查看>>
R中双表操作学习[转载]
查看>>
第五篇、常用的SQL语句和函数介绍
查看>>
iOS开发--Runtime知识点整理
查看>>
UVM的factory机制
查看>>