多项式小清新计数
类型:骨牌问题
这是一类题目。正如我们已经会了的斐波那契数列的生成函数一样,我们有方程式 \(f_i=f_{i-1}+f_{i-2}\) 这个递推式,我们还有一种理解这个事情的方法,就是对于一个 \(1*n\) 的方格,我们用 \(1*2\) 以及 \(1*1\) 的无限个小块如何堆叠的方案数。
我们考虑将其拓展,对于一个规模为 \(1*n\) 的块,我们有颜色各不相同的小块,长度为 \(i\) 的块我们有 \(A_i\) 个,每种颜色的块有无数个,求叠满的方案数。
我们把我们有的小块搞成 \(OGF\) 很显然的一点就是,他的子卷 \(k\) 次,就是我把 \(k\) 个骨牌堆叠到一起的方案数。
那么我们要求的生成函数是不是就是 \(\sum\limits_{k=0}A^k(x)=\displaystyle{\frac{1}{1-A(x)}}\),那么我们是不是就很轻松的解决了这个事情,只要使用多项式求逆就可以完美解决,复杂度为 \(\mathcal{O}(n\log n)\) 的。
对于斐波那契数列,那么根据上面的我们就有 \(F(x)=\displaystyle{\frac{1}{1-x-x^2}}\)。