折線分割平面

2021-10-04 11:01:08 字數 1108 閱讀 6097

還是決定看看下一道題,之後收穫了乙份驚喜

高中的數列知識,這裡先上題:

problem description

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

輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含乙個整數n(0output

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

sample input

2

12

sample output
2

7

注意的是這裡說的折線中的拐點必須在平面內,如果在邊上的話,就是兩條直線。

說一下推導過程:

一條直線可以分成2個平面,兩條線是4個,三條線是7個,其實也不難看出,如果想要使最多平面出現,就需要保證避免出現超過2條直線同時相交的情況(因為三條線同時相交意味著交於一點),我想此時你也不難發現這樣乙個數列,

但這個不是重點,如果,我們再來推導平行線的情況呢?

1組平行線會分出3個平面,2組平行線會分出9個,3組就是19個,(不想上傳了,這個就請自己實踐吧)這樣就會發現平行線組數x和分出的平面的數量的關係為這個,高中數學較好的同學應該還有印象。

明白這些,我們進行下乙個步驟,這道題其實**沒寫多少,但是思路真的很重要。

我們可以假想一組平行線轉化成一組折線的方式,這樣就會少了乙個分割,就會只形成了兩個平面,少了乙個,2組平行線是9組,折線則少了2種。現在應該足夠幫助回想起來這些數列的知識咯,公式就變成了

an=2* n*n+1-n

稍微調整一下就行了。

**就12行:

#include 

using namespace std;

int main()

return0;

}

自己最喜歡做的題型之一,不難,但十分考高中的數學知識

折線分割平面

我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含乙個整數n 0 n 10000 表示折...

折線分割平面

折線分割平面 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩...

折線分割平面

problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包...