四種典型的遞推關系


Ⅰ.Fibonacci數列

在所有的遞推關系中,Fibonacci數列應該是最為大家所熟悉的。在最基礎的程序設計語言Logo語言中,就有很多這類的題目。而在較為復雜的Basic、Pascal、C語言中,Fibonacci數列類的題目因為解法相對容易一些,逐漸退出了競賽的舞台。可是這不等於說Fibonacci數列沒有研究價值,恰恰相反,一些此類的題目還是能給我們一定的啟發的。

Fibonacci數列的代表問題是由意大利著名數學家Fibonacci於1202年提出的“兔子繁殖問題”(又稱“Fibonacci問題”)。

問題的提出:有雌雄一對兔子,假定過兩個月便可繁殖雌雄各一的一對小兔子。問過n個月后共有多少對兔子?

解:設滿x個月共有兔子Fx對,其中當月新生的兔子數目為Nx對。第x-1個月留下的兔子數目設為Ox對。則:

     Fx=Nx+Ox

而   Ox=Fx-1

Nx=Ox-1=Fx-2 (即第x-2個月的所有兔子到第x個月都有繁殖能力了)

 ∴   Fx=Fx-1+Fx-2          邊界條件:   F0=0,F1=1

 

由上面的遞推關系可依次得到

F2=F1+F0=1,F3=F2+F1=2,F4=F3+F2=3,F5=F4+F3=5,……。

Ⅱ.Hanoi塔問題

問題的提出:Hanoi塔由n個大小不同的圓盤和三根木柱a,b,c組成。開始時,這n個圓盤由大到小依次套在a柱上,如圖1所示。

 

 

 


要求把a柱上n個圓盤按下述規則移到c柱上:

(1)一次只能移一個圓盤;

(2)圓盤只能在三個柱上存放;

(3)在移動過程中,不允許大盤壓小盤。

問將這n個盤子從a柱移動到c柱上,總計需要移動多少個盤次?

解:設hn為n 個盤子從a柱移到c柱所需移動的盤次。顯然,當n=1時,只需把a 柱上的盤子直接移動到c柱就可以了,故h1=1。當n=2時,先將a柱上面的小盤子移動到b柱上去;然后將大盤子從a柱移到c 柱;最后,將b柱上的小盤子移到c柱上,共記3個盤次,故h2=3。以此類推,當a柱上有n(n2)個盤子時,總是先借助c柱把上面的n-1個盤子移動到b柱上,然后把a柱最下面的盤子移動到c柱上;再借助a柱把b柱上的n-1個盤子移動到c柱上;總共移動hn-1+1+hn-1個盤次。

     ∴hn=2hn-1+1    邊界條件:hn-1=1

 

Ⅲ.平面分割問題

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

解:設an為n條封閉曲線把平面分割成的區域個數。 由圖2可以看出:a2-a1=2;a3-a2=4;

 

a4-a3=6。從這些式子中可以看出an-an-1=2(n-1)。當然,上面的式子只是我們通過觀察4幅圖后得出的結論,它的正確性尚不能保證。下面不妨讓我們來試着證明一下。當平面上已有n-1條曲線將平面分割成an-1­個區域后,第n-1條曲線每與曲線相交一次,就會增加一個區域,因為平面上已有了n-1條封閉曲線,且第n條曲線與已有的每一條閉曲線恰好相交於兩點,且不會與任兩條曲線交於同一點,故平面上一共增加2(n-1)個區域,加上已有的an-1個區域,一共有an-1+2(n-1)個區域。所以本題的遞推關系是an=an-1+2(n-1),邊界條件是a1=1。

平面分割問題是競賽中經常觸及到的一類問題,由於其靈活多變,常常讓選手感到棘手,

Ⅳ.Catalan數

Catalan數首先是由Euler在精確計算對凸n邊形的不同的對角三角形剖分的個數問題時得到的,它經常出現在組合計數問題中。

問題的提出:在一個凸n邊形中,通過不相交於n邊形內部的對角線,把n邊形拆分成若干三角形,不同的拆分數目用hn表之,hn即為Catalan數。例如五邊形有如下五種拆分方案(圖6-4),故h5=5。求對於一個任意的凸n邊形相應的hn

解:設Cn表示凸n邊形的拆分方案總數。由題目中的要求可知一個凸n邊形的任意一條邊都必然是一個三角形的一條邊,邊P1 Pn也不例外,

再根據“不在同一直線上的三點可以確定一個三角形”,只要在P2,P3,……,Pn-1點中找一個點Pk(1<k<n),與P1、Pn 共同構成一個三角形的三個頂點,就將n邊形分成了三個不相交的部分(如圖3所示),我們分別稱之為區域①、區域②、區域③,其中區域③必定是一個三角形,區域①是一個凸k邊形,區域②是一個凸n-k+1邊形,區域①的拆分方案總數是Ck,區域②的拆分方案數為Cn-k+1,故包含△P1PkPn的n 邊形的拆分方案數為CkCn-k+1種,而Pk可以是P2,P3,……,Pn-1種任一點,根據加法原理,凸n邊形的三角拆分方案總數為,同時考慮到計算的方便,約定邊界條件C2=1。

 

小結:通過上面對四種典型的遞推關系建立過程的探討,可知對待遞推類的題目,要具體情況具體分析,通過找到某狀態與其前面狀態的聯系,建立相應的遞推關系。

例題精講

例1、在一個正六邊形的六個區域中的每一個區域染上紅、黃、藍、紫四種顏色之一,要求相鄰的兩個區域染色不相同,則有多少種不同的染色方法?

 

【分析】本問題屬於排列組合方面的問題。

思路一:利用排列組合的知識進行求解,由於圖形的特殊性,可以按染色情況進行分類。

思路二:將該圖形抽象出來,形成一般的問題:“將圓分為個扇形,每個扇形區域染上紅、黃、藍、紫四種顏色之一,要求相鄰的扇形區域染色不相同,問有多少種染色方法?”先求通項或遞推關系,再求。

【解答】解法一:按A,C,E染色情況進行分類:

故總計共有108+192+432=732種方法。

解法二:將問題抽象成一般問題:“將圓分為個扇形,每個扇形區域染上紅、黃、藍、紫四種顏色之一,要求相鄰的扇形區域染色不相同,記染色方法總數為an,求a6”。

 

【評注】(1)解法一中若不按染色情況進行分類可能比較復雜,並且當A,C,E染二種色時,計算染法數比較容易出錯;

(2)解法二中關鍵之處在於建立遞推式子,但遞推式子建立后計算比較方便。



例2 有一只經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。試求出蜜蜂從蜂房a爬到蜂房b的可能路線數。


  解:這是一道很典型的Fibonacci數列類題目,其中的遞推關系很明顯。由於“蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行”的限制,決定了蜜蜂到b點的路徑只能是從b-1點或b-2點到達的,故fn=fn-1+fn-2 (a+2nb),邊界條件fa=1,fa+1=1。

 

練習:

第1題(5分),有5本不同的數學書分給5個男同學,有4本不同的英語書分給4個女同學,將全部書收回來后再從新發給他們,與原方案都不相同的方案有________種。

答案:

5!*4!+D(5)*D(4)=1140480

其中:D(n)=(n-1)*(D(n-1)+D(n-2))  (n > 2)

      D(1)=0  D(2)=1

 第2題(5分),在m*n的棋盤上,每個方格(單位正方形,即邊長為1的正方形)的頂點稱為格點。以格點為頂點的多邊形稱為格點多邊形。若設格點凸N邊形面積的最小值為gn,格點凸N邊形內部(非頂點的)格點的個數的最小值為fn,則gn和fn的關系式為gn=___________。

答案:

Gn= fn+N/2-1  ( N >= 3 )

第3題(8分),有位小同學喜歡在方陣中填數字,規則是按下圖示例從右上角開始,按斜線填數字,碰到邊界就重新。顯然,數字1在坐標(1,5)位置,數字25在坐標(5,1)位置。后來這位小朋友想知道,對於N階的方陣,隨機取一個位置(x,y),並規定x≤y,問這個位置上應該填的數字是多少?5階方陣的

示例圖如下:

    11    7     4     2     1

    16    12    8     5     3

    20    17    13    9     6

    23    21    18    14    10

    25    24    22    19    15

答案:

(N-y+x)*(N-y+x-1)/2+x

第4題(5分),把三角形各邊分成n等分,過每一分點分別做各邊的平行線,得到一些由三角形的邊和這些平行線所組成的平行四邊形。n為已知整數,能組成_______個平行四邊形。

答案:3*C(n+2,4)

 第5題(5分),由a,b,c3個不同的數字組成一個N位數,要求不出現兩個a相鄰,也不出現兩個b相鄰,這樣的N位數的個數為AN,用AN-1和AN-2表示AN的關系式為:AN=_______________。

答案:

AN= 2*AN-1+AN-2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM