卡特蘭數的推導證明以及在排列問題上的相關應用

2021-10-12 07:33:31 字數 751 閱讀 7734

一、前提:

• 構建乙個(s,x)序列,其中用 s 表示入棧,用 x 表示出棧,s和x個數相同為n。

• 顯然,在每個合理序列的任意字首子串行中,s(入棧)的個數總是大於等於x(出棧)的個數。

• 易得,對於乙個有n個s和n個x的2n序列,它的總序列數為 c(2n,n),包括合理序列和不合理序列。

• 那麼所要求的 合理序列數 = 總的序列數 - 不合理序列數。

二、推導:

三、總結:

由此,我們可以得出得出滿足卡特蘭數規律的有關排列問題特徵:

1.這個問題裡存在兩類事件(出棧、入棧 或 5元錢、10元錢 或 左括號、右括號 或 向右走、 向上走)

2.這兩類事件在排列時有先後順序

出入棧問題:入棧個數總是大於等於出棧個數

• 5元10元找零問題:收5元錢的次數總是要大於等於收10元錢的次數,才能給給10元錢的人找錢

• n組括號的合法表示式問題:左括號的個數也總是要大於等於右括號的個數

• n × n格點中不越過對角線的單調路徑的個數問題:n個向上和向右,且向右的個數必須大於等於向上的個數,總的走法:cn,

卡特蘭數證明

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

證明 卡特蘭數(折線法)

卡特蘭數能夠解決的問題類似出棧順序問題,對於乙個有兩種操作1,2 且1,2操作分別有n次的序列必須嚴格保證操作1的次數在任意前k k z 個操作中始終不小於操作2的次數,這種操作的方案數就是卡特蘭數c 2n,n n 1 我們可以用折線的方式去證明卡特蘭數 在笛卡爾座標系中,令x軸表示當前第幾次操作,...

折線法 卡特蘭數證明

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