max of 直线划平面
Input
每组测试数据包含一个整数N(0<=N<=10000000),表示直线的条数。
Output
sample Input
1
2
sample Output
4
问题描述:
n条直线最多能划分出多少个平面?
问题分析:
平面上只要多出现一条直线,就能至少多把平面分出一部分,而若此直线与其他直线有n个交点,就再能把平面多分出n个部分,因此若想把平面划分的部分最多,新添入的直线必须与前k条直线交k个点,即第二条直线要与第一条直线交1个点,第三条要与前两条交2个点,……,第1999条与前1998条交1998个点,这样,第二条直线多划分出1+1=2个部分,第三条直线多划分出1+2=3个部分,……,第1999条直线多划分出1+1998=1999个部分。而第一条直线把平面划分出2个部分,因此1999条直线能划分平面的块数为:
2+2+3+4+5+…+1998+1999 = 1+(1+2+3+4+5+…+1998+1999) = 1+(1+1999)*1999/2 = 1999001
对n条直线最多划分平面数:
(1)使用递归
f(n) = n + f(n-1) , n > 1
f(n) = 2 , n = 1
(2)使用递推
n = 1, S1 = 2
n > 1, Sn = 2 + 2 + 3 + …… + n = 1 + n * (n+1) / 2
#include<stdio.h>
int main()
{
int t;
long long n;
long long sum;
scanf("%d",&t);
while(t--)
{
scanf("%lld",&n);//64bit防溢出
sum=+n*(n+)/;//递推公式使用
printf("%lld\n",sum);
}
;
}
max of 直线划平面的更多相关文章
- 计算空间直线与平面的交点 (C#)
public class NGlbVec3d {// 三维点 public double x, y, z; public NGlbVec3d() { ...
- HDU2050 由直线分割平面推广到折线分割平面
直线分割平面问题: 加入已有n-1条直线,那么再增加一条直线,最多增加多少个平面? 为了使增加的平面尽可能的多,我们应该使新增加的直线与前n条直线相交,且不存在公共交点.那么我们可以将新增加的这条直线 ...
- OpenCASCADE直线与平面求交
OpenCASCADE直线与平面求交 在<解析几何>相关的书中都给出了直线和平面的一般方程和参数方程.其中直线的一般方程有点向式形式的. 由于过空间一点可作且只能作一条直线平行于已知直线, ...
- UVALive 6263 The Dragon and the knights --统计,直线分平面
题意:给n条直线,将一个平面分成很多个部分,再给m个骑士的坐标,在一个部分内只要有一个骑士即可保护该部分,问给出的m个骑士是不是保护了所有部分. 解法:计算每个骑士与每条直线的位置关系(上面还是下面) ...
- RANSAC介绍(Matlab版直线拟合+平面拟合)
https://blog.csdn.net/u010128736/article/details/53422070
- 关于直线,V形线,Z形线,M形线分割平面的总结
一:N条直线分割平面 假设,x条线能将平面分为f(x)份,这对于份f(n) 第n条线,和其他n-1条线都有交点时,增加量最大,为n; 则: f(n)=f(n-1)+n; 有f(0)=1:得到:n 条直 ...
- HDU2050离散数学折线分割平面
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- hdu 2050:折线分割平面(水题,递归)
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- 折线分割平面[HDU2050]
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
随机推荐
- (转)sql 违反了 PRIMARY KEY 约束,不能在对象 中插入重复键
说明你的数据里面有重复记录 两种情况 1.已存在的表中和要导入数据之间的重复 这个时候可以通过在两个表之间建立关联,将主键级联找出重复记录 2.要导入的表中存在重复记录 可通过类似如下的语句将表中的重 ...
- python __str__() 和 __repr__()是干啥的
1. 没定义__str__() print的时候得不到自己想要的东西 类默认转化的字符串基本没有我们想要的一些东西,仅仅包含了类的名称以及实例的 ID (理解为 Python 对象的内存地址即可).虽 ...
- spring源码解析1--spring整体架构
一.Spring整体架构图 关于Spring的基本介绍就不再赘述了,先展示Spring框架的整体架构图如下示: 二.Spring结构介绍 Spring主要分为Core Container.Test.D ...
- 中文编码错误,Error output could not be translated from the native locale to UTF-8.
假如使用http访问仓库,用户配置的pre-commit钩子里面如果有中文,可能会出现"Error output could not be translated from the nativ ...
- v-charts简介
一, v-charts简介 在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化.修改复杂的配置项,v-charts 的出现正是为了解决这个痛点.基于 Vue2.0 和 echarts 封 ...
- 第十八节 JS中的正则表达式
复习字符串操作: search 查找 substring 获取子字符串 charAt 获取某个字符 split 分割字符串,获取数组 var str = 'abcdefghijk'; alert(st ...
- MTK-TP(电阻屏校准程序ts_lib移植)
现今的项目中已经很少有使用电阻TP,但总有些奇怪的需求.如果项目中遇到需要校准电阻屏如何保证较快且较稳的调试TP呢.这里介绍使用ts_lib库来进行调试. 当然也可以使用一些常见的校准算法,采集5点, ...
- 解决 Invalid character found in method name. HTTP method names must be tokens 异常信息
一个线上环境出现异常,不是spring boot. 解决方法: server.xml中加上maxHttpHeaderSize="8192" springBoot 1.x则是在app ...
- 自制操作系统Antz(9)——实现内核 (下) 实现图形化界面
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...
- 解决IDEA创建多模块项目找不到创建class类的问题
最近在利用idea创建一个多模块的java项目,但是让人十分抓狂的事,模块竟然找不到创建class类的选项,如图 前提:创建模块后假如右下角出现 务必要点击import Changes .然后看下是否 ...