1.n条直线分割最多平面问题

要想分割的面最多,假设前n-1条直线已经将平面分成f(n-1)个平面了,那么第n条直线分割时与前n条直线都相交,才能分割出最多的平面,第n条直线与前n-1条共有n-1个交点,这n-1个交点把第n条直线分割成n-2条线段和2条射线,每条线段及射线将已有的区域一分为二,这样就增加了n-2+2(也就是n)个区域,递推公式就为f(n)=f(n-1)+n。

2.折线分平面问题

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2050

ac代码:https://paste.ubuntu.com/p/XZrH4QVj5C/

第一种思路:由直线分平面的思路来推折线分平面问题,第n条折线与前n-1条折线有4*(n-1)个交点,那么新增的线段数为4*(n-1),射线数为2,但折线头部的两条线段只能增加1个区域,所以递推公式为f(n)=f(n-1)+4*(n-1)+2-1;

第二种思路:如下图,先把折线看成两条平行线,第n对平行线中其中一条与前n-1对平行线相交,新增了2*(n-1)+1个区域,(具体看图3),平行线为两条,所以新增了2*[2*(n-1)+1]个区域,这只是平行线,一条折线比一对平行线少一的区域,所以折线分平面递推公式为 f(n)=f(n-1)+2*[2*(n-1)+1]-1;

线面分割问题(递推)

 

 

3.封闭曲线分平面问题

求n条封闭曲线最多可以分几个区域。 假设有n-1条曲线时 可以分f(n-1)个区域,要想分的区域最多,第n条曲线与前n-1条曲线都要有交点,因是封闭曲线,所以第n条与前n-1条共有2(n-1)个交点,第n条曲线被分成2(n-1)条线段,每条线段将平面一分为二,所以新增2(n-1)个区域,所以f(n)=f(n-1)+2(n-1);

 

4.平面分割空间问题

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1290

ac代码:https://paste.ubuntu.com/p/h5J3cPqMxW/

平面分割空间与面与面的交线有关,假设n-1个平面将空间分割成f(n-1)个空间,第n个平面要与前n-1个平面都有交线,那么n-1条线把第n个平面分成了g(n-1)个区域(由1直线分平面可知)每个区域将平面一分为二,所以新增g(n-1)个空间,所以f(n)=f(n-1)+g(n-1);

相关文章: