hdu 2050 折線分割平面

2021-06-20 01:21:47 字數 2559 閱讀 5090

歸納:

(1) n條直線最多分平面問題

題目大致如:n條直線,最多可以把平面分為多少個區域。

析:可能你以前就見過這題目,這充其量是一道初中的思考題。但乙個型別的題目還是從簡單的入手,才容易發現規律。當有n-1條直線時,平面最多被分成了f(n-1)個區域。則第n條直線要是切成的區域數最多,就必須與每條直線相交且不能有同一交點。這樣就會得到n-1個交點。這些交點將第n條直線分為2條射線和n-2條線斷。而每條射線和線斷將以有的區域一分為二。這樣就多出了2+(n-2)個區域。

故:f(n)=f(n-1)+n

=f(n-2)+(n-1)+n ……

=f(1)+1+2+……+n

=n(n+1)/2+1

(2) 折線分平面(hdu2050)

根據直線分平面可知,由交點決定了射線和線段的條數,進而決定了新增的區域數。當n-1條折線時,區域數為f(n-1)。為了使增加的區域最多,則折線的兩邊的線段要和n-1條折線的邊,即2*(n-1)條線段相交。那麼新增的線段數為4*(n-1),射線數為2。但要注意的是,折線本身相鄰的兩線段只能增加乙個區域。

故:f(n)=f(n-1)+4(n-1)+2-1

=f(n-1)+4(n-1)+1

=f(n-2)+4(n-2)+4(n-1)+2 ……

=f(1)+4+4*2+……+4(n-1)+(n-1)   

=2n^2-n+1

(3) 封閉曲線分平面問題

題目大致如設有n條封閉曲線畫在平面上,而任何兩條封閉曲線恰好相交於兩點,且任何三條封閉曲線不相交於同一點,問這些封閉曲線把平面分割成的區域個數。

析:當n-1個圓時,區域數為f(n-1).那麼第n個圓就必須與前n-1個圓相交,則第n個圓被分為2(n-1)段線段,增加了2(n-1)個區域。

故: f(n)=f(n-1)+2(n-1)     

=f(1)+2+4+……+2(n-1)

=n^2-n+2

(4)平面分割空間問題(hdu1290)

由二維的分割問題可知,平面分割與線之間的交點有關,即交點決定射線和線段的條數,從而決定新增的區域數。試想在三維中則是否與平面的交線有關呢?當有n-1個平面時,分割的空間數為f(n-1)。要有最多的空間數,則第n個平面需與前n-1個平面相交,且不能有共同的交線。即最多有n-1 條交線。而這n-1條交線把第n個平面最多分割成g(n-1)個區域。(g(n)為(1)中的直線分平面的個數)此平面將原有的空間一分為二,則最多增加g(n-1)個空間。

故:f=f(n-1)+g(n-1)    ps:g(n)=n(n+1)/2+1

=f(n-2)+g(n-2)+g(n-1) ……

=f(1)+g(1)+g(2)+……+g(n-1)

=2+(1*2+2*3+3*4+……+(n-1)n)/2+(n-1)

=(1+2^2+3^2+4^2+……+n^2-1-2-3-……-n )/2+n+1

=(n^3+5n)/6+1

直線:條數最多交點數

平面數102

21f(1)+232

f(2)+343

f(3)+4

nn-1(該條數的直線前面的直線總條數)

f(n-1)+增加的平面數=f(n-1)++(交點數+1)=f(n-1)+((n-1)+1)

平行線:

對數條數

最多交點數

平面數120

3244=2*2

f(1)+6=f(1)+3*236

8=4*2

f(2)+10=f(2)+5*248

12=6*2

f(3)+14=f(3)+7*2

n2*n

單條直線交點數*2=該對平行線前的直線總條數*2=(2*(n-1))*2

f(n-1)+單條直線增加的平面數*2=f(n-1)+(交點數+1)*2=f(n-1)+(2*(n-1)+1)*2

折線:折線數

所含直線數

最多交點數

平面數120

2244=2*2

f(1)+5=f(1)+(2*3-1)36

8=4*2

f(2)+9=f(2)+(2*5-1)48

12=6*2

f(3)+13=f(3)+(2*7-1)

n2*n

單條直線交點數*2=該對平行線前的直線總條數*2=(2*(n-1))*2

f(n-1)+(單條直線增加的平面數*2-1)=f(n-1)+((交點數+1)*2-1)=f(n-1)+((2*(n-1)+1)*2-1)

三角形 個數

交點數

增加的平面個數

分割平面總數 1

0 12 2

2*33*3-3

f(1)+3*3-3 3

4*35*3-3

f(2)+5*3-3 4

6*37*3-3

f(3)+7*3-3 n

(n*2-2)*3

(2*n-1)*3-3

f(n-1)+(2*n-1)*3-3=f(n-1)+6*(n-1)

#includeint main()

return 0;

}

HDU2050 折線分割平面

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

hdu 2050 折線分割平面

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

hdu2050 折線分割平面

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