2012騰訊實習筆試中看到的Catalan數

2021-06-05 15:33:30 字數 2115 閱讀 4888

卡特蘭數:規定c0=

1,而c1=

1,c2=

2,c3=

5,c4=

14,c5=

42,c6=

132,c7=

429,c8=

1430,c9

=4862

,c10

=16796

,c11

=58786

,c12

=208012

,c13

=742900

,c14

=2674440

,c15

=9694845·········································

卡塔蘭數的一般項公式為

*n-2

)/(n+

1))*h(n-1

);cn的另乙個表達形式為

h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2)

hai可以這樣推導出來:

n推到過程

cn1       

1  1

1  2  2

1  3  5  5

1  4  9  14  14

1  5  14  28  42  42

1  6  20  48  90  132  132                 

所以,在做題的時候,我們應該用上面的公式cn=ck*cn-k (k=1,2``n)來判斷是否使用於katalan數來解決問題,合適就列出前幾項來判斷推到出答案

總結了一下,最典型的四類應用:(實質上卻都一樣,無非是遞迴等式的應用,就看你能不能分解問題寫出遞迴式了)

1.括號化問題。

矩陣鏈乘: p=a1×a2×a3×……×an,依據乘法結合律,不改變其順序,只用括號表示成對的乘積,試問有幾種括號化的方案?(h(n)種)

2.出棧次序問題。

乙個棧(無窮大)的進棧序列為1,2,3,..n,有多少個不同的出棧序列?

類似:有2n個人排成一行進入劇場。入場費5元。其中只有n個人有一張5元鈔票,另外n人只有10元鈔票,劇院無其它鈔票,問有多少中方法使得只要有10元的人買票,售票處就有5元的鈔票找零?(將持5元者到達視作將5元入棧,持10元者到達視作使棧中某5元出棧)

3.將多邊行劃分為三角形問題。

將乙個凸n+2多邊形區域分成三角形區域的方法數?

類似:一位大城市的律師在她住所以北n個街區和以東n個街區處工作。每天她走2n個街區去上班。如果她

從不穿越(但可以碰到)從家到辦公室的對角線,那麼有多少條可能的道路?

類似:在圓上選擇2n個點,將這些點成對連線起來使得所得到的n條線段不相交的方法數?

4.給頂節點組成二叉樹的問題。

給定n個節點,能構成多少種不同的二叉樹?

(能構成h(n)個)

catalan數的解法

catalan數的組合公式為 cn=c(2n,n) / (n+1);

此數的遞迴公式為 h(n ) = h(n-1)*(4*n-2) / (n+1)

卡特蘭數真是乙個神奇的數字,很多組合問題的數量都和它有關係,例如:

cn= n對括號正確匹配組成的字串數,例如 3對括號能夠組成:

((())) ()(()) ()()() (())() (()())

cn= n+1個數相乘,所有的括號方案數。例如, 4個數相乘的括號方案為:

((ab)c)d (a(bc))d (ab)(cd) a((bc)d) a(b(cd))

cn= 擁有 n+1 個葉子節點的二叉樹的數量。例如 4個葉子節點的所有二叉樹形態:

下面是一些大公司的筆試題

先來一道阿里巴巴的筆試題目:

說16個人按順序去買燒餅,其中8個人每人身上只有一張5塊錢,另外8個人每人身上只有一張10塊錢。

燒餅5塊乙個,開始時燒餅店老闆身上沒有錢。

16個顧客互相不通氣,每人只買乙個。

問這16個人共有多少種排列方法能避免找不開錢的情況出現。

c8=1430,所以總數=1430*8!*8!

在圖書館一共6個人在排隊,3個還《面試寶典》一書,3個在借《面試寶典》一書,圖書館此時沒有了面試寶典了,求他們排隊的總數?

c3=5;所以總數為5*3!*3!=180.

2012騰訊實習生筆試題

問題描述 兩個陣列a n b n 其中a n 的各個元素值已知,現給b i 賦值,b i a 0 a 1 a 2 a n 1 a i 要求 1.不准用除法運算2.除了迴圈計數值,a n b n 外,不准再用其他任何變數 包括區域性變數,全域性變數等 3.滿足時間複雜度o n 空間複雜度o 1 分析 ...

2014騰訊實習筆試面試

成都這邊14年的軟體開發筆試題延續了一貫的傳統,還是考查資料結構 作業系統 計算機網路等方面的內容,只是槽點還是非常多的,首先就是筆試挨著坐,博主的左邊就是同班同學 我沒偷看啊!考試的時候還有同學討論題該怎麼做 給跪了 然後題目據說照搬了往年的題,這個我不太清楚。從筆試的情況來看,筆試基本是不卡人的...

2012騰訊實習招聘筆試附加題1求解方法

附加題1 問題描述大致如下 乙個陣列a n 求構造出乙個b n 使得b i a 0 a 1 a n 1 a i 不能用除法,除了迴圈變數外 不能用額外的變數 要求o 1 的空間複雜度,o n 的時間複雜度。首先我對題目是有點疑問的 題目所說的o 1 的空間複雜度,那麼意思是 1 b陣列占用的空間是原...