洛谷 P1754 球迷購票問題 遞推 卡特蘭數

2021-09-28 22:00:09 字數 696 閱讀 2616

題目背景

盛況空前的足球賽即將舉行。球賽門票售票處排起了球迷購票長龍。

按售票處規定,每位購票者限購一張門票,且每張票售價為50元。在排成長龍的球迷中有n個人手持面值50元的錢幣,另有n個人手持面值100元的錢幣。假設售票處在開始售票時沒有零錢。試問這2n個球迷有多少種排隊方式可使售票處不致出現找不出錢的尷尬局面。

題目描述

例如當n=2是,用a表示手持50元面值的球迷,用b表示手持100元錢的球迷。則最多可以得到以下兩組不同的排隊方式,使售票員不至於找不出錢。

第一種:a a b b

第二種:a b a b

[程式設計任務]

對於給定的n (0≤n≤20),計算2n個球迷有多少種排隊方式,可以使售票處不至於找不出錢。

輸入格式

乙個整數,代表n的值

輸出格式

乙個整數,表示方案數

思路:a

aa當做左括號,b

bb當做右括號,就是求括號配對的情況總數,即卡特蘭數。

#include

#define inf 0x3f3f3f3f

using

namespace std;

typedef

long

long ll;

ll f[30]

;int

main()

洛谷 P1754 球迷購票問題

盛況空前的足球賽即將舉行。球賽門票售票處排起了球迷購票長龍。按售票處規定,每位購票者限購一張門票,且每張票售價為50元。在排成長龍的球迷中有n個人手持面值50元的錢幣,另有n個人手持面值100元的錢幣。假設售票處在開始售票時沒有零錢。試問這2n個球迷有多少種排隊方式可使售票處不致出現找不出錢的尷尬局...

洛谷P1754 球迷購票問題 題解

卡特蘭數經典 texttt 分拆問題。分析 題意相當於排列 n 個 texttt a 和 n 個 texttt b 使得相鄰 texttt 有序!消掉,然後左右元素並到一起再消,最後消完的序列個數。設 texttt 為乙個組 1 texttt 自巢狀一次為乙個組 2 即 texttt 以此類推。後面...

P1754 球迷購票問題

原題鏈結 乙個長度為 2n 的括號序列由 n 個左括號和 n 個右括號組成,問有多少種合法方案 顯然對於任意時刻,要是能找開 b,那麼之前一定有乙個 a 給他提供了一張 50 的 money,如果將 a 看做是乙個左括號,將 b 看做是乙個右括號,那麼這道題就轉化成了 求合法括號序列的方案數 相信對...