平面分割问题

简介: 同一个平面内有n(n=p>=2)条直线相交于同一点。则这n条直线最多能将平面分割成多少个不同的区域?分析:观察发现原有的p条线把平面分为2p个区域。为了能够划分出尽可能多的区域,从第p+1条线开始,添加每条线时都应该使新加的这条线和先前所有线相交于新的点。

同一个平面内有n(n<=500)条直线,已知其中p(n>=p>=2)条直线相交于同一点。
则这n条直线最多能将平面分割成多少个不同的区域?

分析:观察发现原有的p条线把平面分为2p个区域。为了能够划分出尽可能多的区域,从第p+1条线开始,添加每条线时都应该使新加的这条线和先前所有线相交于新的点。(也就是说,除了最早的p条线共点外,没有其他线三线共点。)

另外,观察发现:按照上述方法添加直线时,假设当前平面有x条直线,添加一条线以后将新增加x+1个区域。所以只要累加每一次新增加的区域数即可。

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     freopen("surface_data/surface1.in","r",stdin);
 7     freopen("surface_data/surface1.txt","w",stdout);
 8     int n,p;
 9     int i,sum=0;
10     scanf("%d%d",&n,&p);
11     sum=p*2;
12     for(i=p+1;i<=n;i++)
13     {
14         sum=sum+i;
15     }
16     printf("%d\n",sum);
17     return 0;
18 }

 

相关文章
二维平面的欧几里得距离
二维平面的欧几里得距离
|
4月前
|
算法
3D Hough变换点云平面检测算法
3D Hough变换点云平面检测算法
77 0
|
9月前
|
数据可视化 算法 Serverless
使用分水岭算法分割图像中相互接触的对象
使用分水岭分割来分离图像中相互接触的对象。分水岭变换通过将图像视为一个曲面,其中亮像素表示较高处,暗像素表示较低处,从而找出图像中的“汇水盆地”和“分水岭脊线”。
53 0
|
Python
点云在任意平面上获取二维投影
点云在任意平面上获取二维投影
927 0
点云在任意平面上获取二维投影
|
算法
【平面解析几何】直线方程的表示形式
【平面解析几何】直线方程的表示形式
184 0
|
算法 计算机视觉 C++
ITK基础(一) — 二值化分割
ITK 全称为 Insight Toolkit ,是一款开源、跨平台、用于图像分析工具包,开发遵循极限编程,主流使用语言为 C++,但目前开发团队已经提供了面向 Python 的接口。 ITK 内部封装了许多优秀算法。ITK 可用于图像处理、配准、分割等领域,处理图像维度面向二维、三维或者更高维度
ITK基础(一) — 二值化分割
BNUOJ 44584 平面切割者
BNUOJ 44584 平面切割者
83 0
二维几何平面
欧拉公式和二维闭合几何平面
76 0
|
机器学习/深度学习 算法 自动驾驶
用语义分割突破边界框
语义分割是一项计算机视觉任务,视觉输入的不同部分可以分成不同的语义解释类。那么,语义分割在边界框标记上有什么优势呢?
2727 0