营业日志 2020.7.4 新瓶旧酒

· · 个人记录

今天 cuizhuyefei 哥哥给了这么一个问题:

b_i = \sum_j \binom{2i-j}{i-j} a_j

的求算。

djq_cpp 一语道破,对于 a_0 的贡献是 \binom {2i}{i},这容易让我们联想到其生成函数是二次根式 \frac{1}{\sqrt{1-4z}}

因此启发我们将变换写作

\sum_n b_n z^n = \sum_k a_k \left(\sum_n \binom {2n-k}{n-k} z^n \right)

我们将考虑记 Q_k(z) = \sum_n \binom {2n-k}{n-k} z^n = z^k \, _2F_1\left(\frac{k+1}{2},\frac{k+2}{2};k+1;4 z\right)

容易想到通过 \binom nm = \binom{n+1}{m+1} - \binom{n}{m+1} 来建立 Q_k 之间的递推联系。

\begin{aligned} Q_k(z) &= \sum_n \binom {2n-k}{n-k} z^n \\ &= \sum_n \left(\binom {2n-k+1}{n-k+1} - \binom {2n-k}{n-k+1} \right) z^n\\ &= \sum_n \left(\binom {2n-(k-1)}{n-(k-1)} - \binom {2(n-1)-(k-2)}{(n-1)-(k-2)} \right) z^n\\ &= \sum_n \binom {2n-(k-1)}{n-(k-1)} z^n - z \sum_n \binom {2(n-1)-(k-2)}{(n-1)-(k-2)} z^{n-1}\\ &= Q_{k-1}(z) - zQ_{k-2}(z) \end{aligned}

Q_0 = \frac 1{\sqrt{1-4z}} 已知(广义二项式),\binom {2n-1}{n-1} = \frac{\binom{2n}{n} - [n=0]}2 进一步可得 Q_1 = \frac{1-\sqrt{1-4z}}{2\sqrt{1-4z}}。这样这个线性递推的要素就齐全了。然后你算出来发现它就是

Q_k(z) = \frac{\left(\frac{1-\sqrt{1-4z}}{2}\right)^k}{\sqrt {1-4z}}\\

换个马甲我就不认识你了……

因此 B(z) = \frac{A\left(\frac{1-\sqrt{1-4z}}{2}\right)}{\sqrt{1-4z}},接下来如何计算就比较简单了,首先是 A(\frac{1-t}2) 很好做,然后复合 \sqrt{1-4z} 只需要奇偶部分分别伺候,总共就是若干次 \Theta(n\log n) 的变换了。