uoj424

题意

uoj

做法

转化为笛卡尔树
由于值相同时是选左边的为根,所以右链个数是不受限制的

(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} ]

直接把多项式放进去常数大,插值就好了

原文地址:https://www.cnblogs.com/Grice/p/12826806.html