平面分割
今天遇到一個折線切割平面的問題,習慣性的百度了一下,把自己搜集到的資料整理了一下。這些東西都是些數(shù)學問題,在另一方面證明了數(shù)學的神奇和博大精深。很佩服先賢們能夠推到出這么神奇的公式出來。
這類題目相對而言比較簡單,如果知道了遞推公式剩下的事情就非常簡單了。所以遞推公式是最重要的。這一個類型的題目還是從簡單的入手,才容易發(fā)現(xiàn)規(guī)律。至于這些題目的代碼我在這就不寫了,相信各位研究完遞推公式之后就能夠很輕松的寫出來。
(1) n條直線最多分平面問題
?????? 題目大致如:n條直線,最多可以把平面分為多少個區(qū)域。
?????? 析:可能你以前就見過這題目,這充其量是一道初中的思考題。當有n-1條直線時,平面最多被分成了f(n-1)個區(qū)域。則第n條直線要是切成的區(qū)域數(shù)最多,就必須與每條直線相交且不能有同一交點。 這樣就會得到n-1個交點。這些交點將第n條直線分為2條射線和n-2條線斷。而每條射線和線斷將以有的區(qū)域一分為二。這樣就多出了2+(n-2)個區(qū)域。
????????? 故:f(n)=f(n-1)+n
?????????????????????? =f(n-2)+(n-1)+n
?????????????????????? ……
?????????????????????? =f(1)+1+2+……+n
?????????????????????? =n(n+1)/2+1
? (2) 折線分平面(hdu2050)
??????? 根據(jù)直線分平面可知,由交點決定了射線和線段的條數(shù),進而決定了新增的區(qū)域數(shù)。當n-1條折線時,區(qū)域數(shù)為f(n-1)。為了使增加的區(qū)域最多,則折線的兩邊的線段要和n-1條折線的邊,即2*(n-1)條線段相交。那么新增的線段數(shù)為4*(n-1),射線數(shù)為2。但要注意的是,折線本身相鄰的兩線段只能增加一個區(qū)域。
??????? 故: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條封閉曲線畫在平面上,而任何兩條封閉曲線恰好相交于兩點,且任何三條封閉曲線不相交于同一點,問這些封閉曲線把平面分割成的區(qū)域個數(shù)。
??????? 析:當n-1個圓時,區(qū)域數(shù)為f(n-1).那么第n個圓就必須與前n-1個圓相交,則第n個圓被分為2(n-1)段線段,增加了2(n-1)個區(qū)域。
????????????? 故: f(n)=f(n-1)+2(n-1)?????
????????????????????????????? =f(1)+2+4+……+2(n-1)
????????????????????????????? =n^2-n+2
(4)平面分割空間問題(hdu1290)
?????????? 由二維的分割問題可知,平面分割與線之間的交點有關,即交點決定射線和線段的條數(shù),從而決定新增的區(qū)域數(shù)。試想在三維中則是否與平面的交線有關呢?當有n-1個平面時,分割的空間數(shù)為f(n-1)。要有最多的空間數(shù),則第n個平面需與前n-1個平面相交,且不能有共同的交線。即最多有n-1 條交線。而這n-1條交線把第n個平面最多分割成g(n-1)個區(qū)域。(g(n)為(1)中的直線分平面的個數(shù) )此平面將原有的空間一分為二,則最多增加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
總結(jié)
- 上一篇: 2011阿里巴巴集团实习生招聘笔试题 C
- 下一篇: ms 两个数组,从每个数组中取一个数相加