普通/下降幂多项式平移

【普通多项式】

已知 f(x)=i=0naixi,求 f(x+c) 的系数。

f(x+c)=i=0nai(x+c)i=i=0naij=0i(ij)xjcij=j=0nxjj!i=jni!aicij(ij)!=i=0nxii!j=inj!ajcji(ji)!

ansi=j=inj!ajcji(ji)!,目标是求出 ans0ansn

发现 j!ajcji(ji)! 很像卷积的形式。但是它们不是和一定而是差一定。对于这种非标准形式卷积,我们可以用翻转的方法。令 k=ji

ansi=k=0ni(k+i)!ak+ickk!=l+k=ni(nl)!anlckk!

开始翻转,令 ai=(ni)!ani,则 ansi=l+k=nialckk!

再翻转一次,令 ansi=ansni,则 ansi=l+k=ialckk!。所以 ans 这个数组可以用 a 数组和 ckk! 卷出来。

推出 ans 之后,回到 f(x+c)=i=0nxii!ansi 即可。

【下降幂多项式】

已知 f(x)=i=0nbixi,求 f(x+c) 下降幂形式的系数。

关键公式(x+c)n=i=0n(ni)xicni

f(x+c)=i=0nbi(x+c)i=i=0nbij=0i(ij)xjcij=j=0nxjj!i=jni!bicij(ij)!=i=0nxii!j=inj!bjcji(ji)!=i=0nxii!ansi

ansi=j=inj!bjcji(ji)!=j=0ni(j+i)!bj+icjj!=j=0nibnijcjj!

ansi=ansni=j=0n(ni)bn(ni)jcjj!=j=0ibijcjj!=j+k=ibjckk!

所以两种多项式平移都是 O(nlogn) 的。

posted @   FLY_lai  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示