拉格朗日反演证明

感谢 BZT 大仙的细心指导: →_→

求函数 G 满足:

\[G(F(x))=x\]

其中 G 和 F 都要满足常数项为 0 且 1 次项不为 0

设 \(G(x)=\sum_{i>=1} a_i x^i\)

那么原式就是:

\[\sum_{i=1}^\infty a_i F^i(x)=x\]

然后我们两边取导:

\[\sum_{i=1}^\infty i·a_i F^{i-1}(x) F'(x)= 1 \]

然后左右除去 \(F^n(x)\) :

\[\sum_{i=0}^{\infty}i·a_i F^{i-n-1}(x) F'(x)={1\over F^n(x)}\]

两边取 x 的 -1 次项:

\[[x^{-1}]\sum_{i=0}^{\infty}i·a_i F^{i-n-1}(x) F'(x) =[x^{-1}]{1\over F^n(x)}\]

这时候我们江 i 不等于 n 的情况讨论一下:

\[F^{i-n-1}(x)F'(x)={1\over i-n} (F^{i-n}(x))'\]

这里我们从右往左推就好了,用链式法则

然后我们发现一个多项式求导后的 -1 次项系数为 0 ,就不用考虑了

对于 i=n 的情况:

\[F^{-1}(x)F'(x)={a_1+2a_2x+2a_3x^2+...\over a_1x+a_2x^2+a_3x^3+...}\]

\[={a_1+2a_2x+2a_3x^2+...\over a_1x}·{1\over 1+{a_2\over a_1}x+{a_3\over a_1}x^2+...}\]

后面的多项式常数项为 1,可逆,逆完之后常数项还是 1, 那么前面的式子中 x 的 -1 次项系数为 1

那么原来的式子就是:

\[a_n = [x^{-1}] {1\over F^n(x)} \]

那么这也就证明出了拉格朗日反演中的定理:

\[[x^n] G(x) = [x^{-1}] {1\over n} {1\over F^n(x) }\]

然后我们让 f(x) 表示 F(x) 除去 x 后的多项式,那么原本的答案就是:

\[[x^n] G(x) = [x^{n-1}] {1\over n} {1\over f^n(x) }\]

然后我也不知道这玩意儿为什么是对的,反正这样的情况下我们就可以 \(O(n log n)\) 求解(多项式快速幂+多项式求逆)了

原文地址:https://www.cnblogs.com/Judge/p/10652738.html

时间: 2024-07-31 12:41:04

拉格朗日反演证明的相关文章

BZOJ 3684 大朋友和多叉树 FFT+拉格朗日反演

题目大意:给定n和集合S,求满足下列要求的多叉树的个数: 1.每个非叶节点的子节点数量在集合S中 2.每个叶节点的权值为1,每个非叶节点的权值为子节点权值之和 3.根节点的权值为n 注意每个节点的子节点有顺序 令fi表示根节点权值为i的神犇二叉树个数,F(x)为fi的生成函数,C(x)为S的生成函数,那么有: F(x)=∑i∈SFi(x)+x F(x)=C(F(x))+x F(x)?C(F(x))=x 不妨令G(x)=1?C(x) 那么有: G(F(x))=x 因此F(x)是G(x)的复合逆 拉

[拉格朗日反演][FFT][NTT][多项式大全]详解

1.多项式的两种表示法 1.系数表示法 我们最常用的多项式表示法就是系数表示法,一个次数界为\(n\)的多项式\(S(x)\)可以用一个向量\(s=(s_0,s_1,s_2,\cdots,s_n-1)\)系数表示如下:\[S(x)=\sum_{k=0}^{n-1}s_kx^k\] 系数表示法很适合做加法,可以在\(O(n)\)的时间复杂度内完成,表达式为:\[S(x)=A(x)+B(x)=\sum_{k=0}^{n-1}(a_k+b_k)x^k\] 当中\[s_k=a_k+b_k\] 但是,系数

@总结 - [email protected] 拉格朗日反演与复合逆

目录 @0 - 参考资料@ @1 - 问题描述@ @2 - 拉格朗日反演@ @2.1 - 解法及证明@ @2.2 - 典例@ @3 - 扩展拉格朗日反演@ @3.1 - 解法及证明@ @3.2 - 典例@ @0 - 参考资料@ 参考博客-1 zjt 的博客地址挂掉了,所以这里暂时没有. @1 - 问题描述@ 我们知道,有时候可以使用牛顿迭代法求 G(F(x)) = 0 的某个根 F0(x). 但是有时候函数 G 是一个非常复杂的多项式. 这个时候使用牛顿迭代法,每一层的复杂度可能要做 n 次乘法

P4781 【模板】拉格朗日插值

P4781 [模板]拉格朗日插值 证明 :https://wenku.baidu.com/view/0f88088a172ded630b1cb6b4.html http://www.ebola.pro/article/notes/Lagrange #include<bits/stdc++.h> using namespace std; #define mod 998244353 #define ll long long #define maxn 2345 ll n,k,x[maxn],y[ma

BZOJ3684 大朋友和多叉树(多项式相关计算)

设$f(x)$为树的生成函数,即$x^i$的系数为根节点权值为$i$的树的个数.不难得出$f(x)=\sum_{k\in D}f(x)^k+x$我们要求这个多项式的第$n$项,由拉格朗日反演可得$[x^n]f(x)=\frac1n[x^{n-1}](\frac x{g(x)})^n$其中$[x^n]f(x)$表示$f(x)$的$n$次项系数.$f(x)$是$g(x)$的复合逆,即$g(f(x))=x$在本题中,$g(x)=x-\sum_{k\in D}x^k$我们需要多项式求逆和多项式快速幂.多

多项式求ln,求exp,开方,快速幂 学习总结

按理说Po姐姐三月份来讲课的时候我就应该学了 但是当时觉得比较难加上自己比较懒,所以就QAQ了 现在不得不重新弄一遍了 首先说多项式求ln 设G(x)=lnF(x) 我们两边求导可以得到G'(x)=F‘(x)/F(x) 则G(x)就是F’(x)/F(x)的积分 我们知道多项式求导和积分是O(n)的,多项式求逆是O(nlogn)的 所以总时间复杂度O(nlogn) 多项式求ln一般解决的问题是这样的 设多项式f表示一些奇怪的东西,由一些奇怪的东西有序组成的方案为 f^1+f^2+f^3…… 化简之

快速傅立叶变换(FFT)相关内容汇总

FFT是近年考察非常频繁的算法,与其相关的知识点也相当多样. 这里主要是资料汇总,内容补充和总结等.具体应用应在各大OJ上做相关题目. 目录: 概述 1. 前置技能:数学基础 1.1 多项式概念与运算. 1.2 微积分初步与泰勒展开 1.3 普通型生成函数与指数型生成函数 1.4 线性代数相关(矩阵,行列式与特征多项式) 1.5 组合数与伯努利数 1.6 常系数齐次线性递推 1.7 初等数论与初等代数 1.8 卷积概念与O(n^2)求法 1.9 拉格朗日插值法 2. FFT:快速傅立叶变换算法总

试题复习

期末前把今年的一些题目拿出来重新看了一下,感觉曾经对省选的恐惧现在已经消退了不少. 但这种难度的题目对我来说还是非常有挑战性的. 还是有几道题抄了代码,后面刷题是要花时间写代码了. HNOI2014 T1:类似最小乘积生成树,KM算法建出凸包. T2:虚树DP,想到这个应该就不难了. T3:语文题.技巧:取log后用加法代替乘法. T4:字符串hash,模拟题. T5:复杂度玄学的题目,考场上要敢于写这种不确定复杂度的题(当然要是在别的题目较难的情况下). T6:SG函数+分块优化,套路题. H

多项式细节梳理&amp;模板(多项式)

基础 很久以前的多项式总结 现在的码风又变了... FFT和NTT的板子 typedef complex<double> C; const double PI=acos(-1); void FFT(C*a,R op){ for(R i=0;i<N;++i) if(i<r[i])swap(a[i],a[r[i]]); for(R i=1;i<N;i<<=1){ C wn=C(cos(PI/i),sin(PI/i)*op),w=1,t; for(R j=0;j<