杭電2050折線分割平面,遞推

折線分割平面

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

Problem Description

我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。

Input

輸入數據的第一行是一個整數C,表示測試實例的個數,然後是C 行數據,每行包含一個整數n(0<n<=10000),表示折線的數量。

Output

對於每個測試實例,請輸出平面的最大分割數,每個實例的輸出佔一行。

Sample Input

2
1
2

Sample Output

2
7

分析:

先看N條相交的直線最多能把平面分割成多少塊


當添加第N條只顯示,爲了使平面最多, 則第N條直線要與前面的N-1條直線都相交,且沒有任何三條直線教育一個點。

則第N條直線有N-1個交點。由於每增加N個交點,就增加N+1個平面,所以用N條直線來分隔平面,最多的數是1+1+2+3+…+n=1+n*(n+1)/2;

 

再看每次增加兩條相互平行的直線

  

 

當第N次添加時,前面已經有2N-2條直線了,所以第N次添加時,第2N-1條直線和第2N條直線都各能增加2*(n-1)+1 個平面。

所以第N次添加增加的面數是2[2(n-1) + 1] = 4n - 2 個。因此,總面數應該是

1 + 4n(n+1)/2 - 2n = 2n2 + 1 

 

如果把每次加進來的平行邊讓它們一頭相交

則平面1、3已經合爲一個面,因此,每一組平行線相交後,就會較少一個面,

所以所求就是平行線分割平面數減去N,爲2n2 -n + 1

利用上述總結公式f(n)=2n2 -n + 1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章