首页 > 其他 > 详细

多项式卷积技巧(其中一个多项式系数是简单组合数)

时间:2021-07-09 12:59:53      阅读:12      评论:0      收藏:0      [点我收藏+]

多项式卷积技巧(其中一个多项式系数是简单组合数)

考虑下面的问题:

\[f_{i,j}={w_i\choose j}+\sum_{k< i} (\sum_{l\leq j} f_{k,l}{s_{k,i}\choose j-l})g_{k,i},(i\leq n,j\leq m) \]

其中\(w,g,s\)为任意数字,求\(f\)

暴力转移是\(O(N^2M^2)\)的。

用多项式乘法可以\(O(N^2M\log M)\)常数较大。

下面讨论一种\(O(N^2M)\)的小常数做法。

首先需要对组合数进行一步转换:\({m\choose n}=[x^n](1+x)^m\)

则式子就可以写成:

\[f_i=h_{i}+\sum_{k<i}(f_k\times (1+x)^{s_{k,i}})g_{k,i} \]

其中\(h_{i}=\sum_{j\geq 0} {w_i\choose j}x^j\)

定义\(f‘\)表示\(f\)左移\(1\)得到的多项式。

则上面的式子就是:

\[f‘_i=h‘_i+\sum_{k<i} f‘_k\times x^{s_{k,i}}g_{k,i} \]

其实就是右移,相加。

最后通过\(f‘\)还原到\(f\)只需要实现右移\(1\)即可。

代码非常好写。

例题:SRM 761 div1 Level 3 SpanningSubgraphs

题解+代码:SRM 761 div1 Level 3 SpanningSubgraphs 题解 - QQQ,,, - 博客园 (cnblogs.com)

多项式卷积技巧(其中一个多项式系数是简单组合数)

原文:https://www.cnblogs.com/gary-2005/p/14988619.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!