UOJ#424. 【集训队作业2018】count

#424. 【集训队作业2018】count

题解:

 

法一:

%ywy

卡特兰数大融合

数本质不同的笛卡尔树,且任意一个叶子到根作为左儿子次数+1<=m

二叉树转化为括号:根用括号把左儿子整个包起来,然后放右儿子

这样,合法限制变成了,用栈处理左括号右括号,栈内任意时刻左括号不能超过k个。

统计这样的合法括号序列个数

考虑从(0,0)往(n,n)走

不能经过y=x-1和y=x+m+1的方案数

枚举折线的经过情况进行容斥

 

法二:

简单暴力的多项式:

二维生成函数

二维的生成函数,把一维放在外面

然后递推。

可以发现f=a/b的形式,然后暴力对应分子分母相等,得到a,b的线性递推式。

矩阵乘法

IDFT的trick是,直接把转移矩阵的x换成$w_N^i$最后再插值。

 

upda:多亏这个不用取mod,不然肯定不能差值的。项数太多了

最后还是要多项式求逆。

posted @ 2019-06-08 21:50  *Miracle*  阅读(487)  评论(0编辑  收藏  举报