题意
做法
转化为笛卡尔树
由于值相同时是选左边的为根,所以右链个数是不受限制的
令(f(n,k))表示左链个数不超过(k)的二叉树个数
(f(n,k)=sumlimits_{i=0}^{n-1}f(k-1,i)f(k,n-1-i))
令(F_k(x)=sumlimits_{i}f(i,k)x^i),有:
[F_k(x)=F_k(x)F_{k-1}(x)x+1Longrightarrow F_k(x)=frac{1}{1-xF_{k-1}(x)}
]
猜测(F_k(x))可以表示成(frac{A_k(x)}{B_k(x)}):
[F_k(x)=frac{A_k(x)}{B_k(x)}=frac{B_{k-1}(x)}{B_{k-1}(x)-xA_{k-1}(x)}
]
[egin{bmatrix}A_k(x) \B_k(x) end{bmatrix}=egin{bmatrix}0 & 1\-x & 1 end{bmatrix} imes egin{bmatrix}A_{k-1}(x) \ B_{k-1}(B)end{bmatrix}
]
直接把多项式放进去常数大,插值就好了