公式一
遞歸公式
$h(0)=h(1)=1 $
\(h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2)\)
如果我們用這個公式顯然我們要使用遞歸算法,那么數據一大就在時空上很麻煩
公式二
遞推公式
\(h(n)=h(n-1)*(4*n-2)/(n+1)\)
這個公式應用遞推,看上起十分和善
但對大數據呢?
我們注意到大數據的時候h(n)會很大,這時候題目一般會讓你對某素數取模(當然你可以打高精度(划掉))
但你在取模過程中難保一個h(n)%mod=0
那么根據公式下面所有的數都會等於0,於是你就愉快的WA了
公式三
組合數公式1
\(h(n)=C(2n,n)/(n+1) (n=0,1,2,...)\)
卡特蘭數可以與組合數聯系起來,得到上面的公式
而組合數就是一個楊輝三角,可以遞推得到(這個不屬於這道題的討論范圍我假裝你們都會(逃))
但我們發現對於大數據你要取模,而對於除法你是沒辦法用膜的性質的(當然你可以應用逆元(划掉)),所以造成了麻煩
公式四
組合數公式2
\(h(n)=c(2n,n)-c(2n,n-1) (n=0,1,2,...)\)
與組合數公式1不同這個是兩個組合數的減法
減法是可以用膜的性質的,於是你可以愉快的AC了。