卡特蘭數證明

1.飯後,姐姐洗碗,妹妹把姐姐洗過的碗一個一個地放進碗櫥摞成一摞。一共有n個不同的碗,洗前也是摞成一摞的,也許因爲小妹貪玩而使碗拿進碗櫥不及時,姐姐則把洗過的碗摞在旁邊,問:小妹摞起的碗有多少種可能的方式?
2.給定n個數,有多少種出棧序列?
3.一個有n個1和n個-1組成的字串,且前k個數的和均不小於0,那這種字串的總數爲多少?

這三個問題具有相同的結構,三個問題是可以互相轉化。將姐姐放碗看做入棧操作,將妹妹放碗看做出棧操作。則問題一變爲問題二。將入棧操作記爲1,出棧記爲-1,問題2變爲問題3。
問題的答案是一個著名的數列,卡特蘭數。該問題的代數解法比較抽象,而運用到幾何上,用圖片來描述,卻有讓人恍然大悟的感覺。

事實上,可以認爲問題是,任意兩種操作,要求每種操作的總次數一樣,且進行第k次操作2前必須先進行至少k次操作1。我們假設一個人在原點,操作1是此人沿右上角45°走一個單位(一個單位設爲根號2,這樣他第一次進行操作1就剛好走到(1,1)點),操作2是此人沿右下角45°走一個單位。第k次操作2前必須先進行至少k次操作1,就是說明所走出來的折線不能跨越x軸走到y=-1這條線上!在進行n次操作1和n此操作2後,此人必將到到達(2n,0)!若無跨越x軸的限制,折線的種數將爲C(2n,n),即在2n次操作中選出n次作爲操作1的方法數。

這裏寫圖片描述

現在只要減去跨越了x軸的情況數。對於任意跨越x軸的情況,必有將與y=-1相交。找出第一個與y=-1相交的點k,將k點以右的折線根據y=-1對稱(即操作1與操作2互換了)。可以發現終點最終都會從(2n,0)對稱到(2n,-2)。由於對稱總是能進行的,且是可逆的。我們可以得出所有跨越了x軸的折線總數是與從(0,0)到(2n,-2)的折線總數。而後者的操作2比操作1要多0-(-2)=2次。即操作1爲n-1,操作2爲n+1。總數爲C(2n,n-1)。

這裏寫圖片描述

轉自:http://blog.sina.com.cn/s/blog_6917f47301010cno.html

發佈了110 篇原創文章 · 獲贊 26 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章