多项式笔记(二)

由于源码较长,可能需要15秒左右的加载时间,请耐心等待

上接 多项式笔记(一) ,建议按顺序看。

这篇文章总结了有关阶乘幂,二项式系数,两类斯特林数,伯努利数,欧拉数的内容。

基础有限微积分

阶乘幂

就是上升幂 (x^{overline{n}}) 和下降幂 (x^{underline{n}})

要能熟练运算,这样可以简化很多问题

定义

[x^{overline{n}}=x(x+1)(x+2)cdots(x+n-1)\ x^{underline{n}}=x(x-1)(x-3)cdots(x-n+1) ]

一些性质

[x^{underline{n}}=(-1)^{n}(-x)^{overline{n}}\ x^{overline{n}}=(-1)^{n}(-x)^{underline{n}} ]

暴力展开阶乘幂即可。

[x^{underline{n+m}}=x^{underline{n}}(x-n)^{underline{m}}\ x^{overline{n+m}}=x^{overline{n}}(x+n)^{overline{m}} ]

暴力展开阶乘幂即可。

[x^{underline{k}}=(x-k+1)^{overline{k}} ]

虽然感觉都很显然,但是运算的时候不一定看得出来。

差分算子

由于我是个初中生,这部分的内容请谨慎食用,我只是记录自己的理解

平时我们的微积分都是用微分算子 (mathrm{D})(mathrm{D}f(x)=lim_{Delta x o 0}dfrac{f(x+Delta x)-f(x)}{Delta x})

但是有限微积分是基于整数域的,也就是说 (Delta x_{min}=1) (好像是面对一个叫做“离散数学”的东西搞出来的,不是很会)

定义差分算子 (Delta)(Delta f(x)=f(x+1)-f(x))

微分算子有一个很好用的式子:(mathrm{D}(x^m)=mx^{m-1})

而差分算子也有类似的式子:(Delta (x^{underline{m}})=mx^{underline{m-1}})

证明还是很简单的,暴力展开阶乘幂即可:((x+1)^{underline{m}}-x^{underline{m}}=x^{underline{m-1}}(x+1-(x-m+1))=mx^{underline{m-1}})

如果有一个函数 (g(x)=Delta f(x)) ,那么 (sumlimits_{i=a}^{b}g(i)=f(b+1)-f(a)) ,这个差分一下就好了,很显然。

对于二项式系数不断使用 (Delta) 算子会有神奇的效果(如果看不懂可以看完下一章再回来看)。

[Deltainom{n}{m}=inom{n+1}{m}-inom{n}{m}\ =dfrac{(n+1)^{underline{m}}-n^{underline{m}}}{m!}\ =dfrac{mn^{underline{m-1}}}{m!}\ =dfrac{n^{underline{m-1}}}{(m-1)!}=inom{n}{m-1} ]

所以 (k) 次差分之后

[Delta^kinom{n}{m}=inom{n}{m-k} ]

对于 (x^n) 不断差分也会有神奇的效果:

[Delta(x^n)=(x+1)^n-x^n\ Delta^2(x^n)=(x+2)^n-(x+1)^{n}-(x+1)^{n}+x^n=(x+2)^n-2(x+1)^n+x^n\ Delta^3(x^n)=(x+3)^n-2(x+2)^n+(x+1)^n-(x+2)^n+2(x+1)^n-x^n=(x+3)^n-3(x+2)^n+(x+1)^n-x^n ]

有没有发现什么规律?

[Delta^m(x^n)=sum_{i=0}^{m}(-1)^{m-i}inom{m}{i}(x+i)^{n} ]

关于这个东西的严谨证明:

设一个生成函数

[F(x)=sum_{i=0}(x+i)^n [y^i] ]

卷上 ((1-y)^m) 就是 (m) 阶差分,然后可以在 (y^{m}) 处提取 (m) 阶差分的结果。

[[y^m]=sum_{i=0}^{m}(-1)^{m-i}inom{m}{i}(x+i)^n ]

由于我对有限微积分了解的也不多,只能先写这些比较显然的了。

二项式系数

非常重要的知识,必须熟练掌握,这个是基础

(dbinom{n}{m}) 表示,侠义可以理解成小学奥数的组合数 (C_{n}^{m}) ,注意上下反着来的。

建议直接去看《具体数学》,这里只写一些重要的,都是从上面学的。

定义

侠义:(n) 个物品选出 (m) 个的方案数

广义二项式系数:(dbinom{n}{m}=dfrac{n^{underline{m}}}{m!})(n) 可以是实数。

看过具体数学的人都知道,二项式系数有一大片恒等式awa

常见恒等式

阶乘展开式

[inom{n}{m}=dfrac{n!}{m!(n-m)!} ]

拿组合意义搞的,所以定义域为 (0le mle n) 。卷积的时候非常常用

对称性

[inom{n}{m}=inom{n}{n-m} ]

这个显然,拿阶乘展开式展开即可。所以定义域同阶乘展开式。

二项式定理

[(x+y)^{n}=sum_{i=0}^{n}inom{n}{i}x^iy^{n-i} ]

枚举有几个括号选了 (x) ,几个选了 (y) 就可以得到这个式子。

对于这个式子要敏感,有时候可以逆用,复杂度直接降掉一个 (n) 。有时候也可以拿这个构造。

吸收率

[inom{n}{m}=dfrac{n}{m}inom{n-1}{m-1} ]

阶乘展开即证,可以拿来递推或者消掉系数。

加法公式

[inom{n}{m}=inom{n-1}{m}+inom{n-1}{m-1} ]

经常拿来裂项求递推式。

三项式版恒等式

[inom{n}{m}inom{m}{k}=inom{n-k}{n-m}inom{n}{k} ]

我也不知道为啥叫这个名字。。。

[inom{n}{m}inom{m}{k}=dfrac{n!}{m!(n-m)!}dfrac{m!}{k!(m-k)!}\ =dfrac{n!}{(n-m)!}dfrac{1}{k!(m-k)!}\ =dfrac{(n-k)!}{(n-m)!(m-k)!}dfrac{n!}{k!(n-k)!}\ =inom{n-k}{n-m}inom{n}{k} ]

平行求和法

[sum_{i=0}^{n}inom{n+k}{k}=inom{n+k+1}{n} ]

证明需要加法公式裂项。

[inom{n}{0}+inom{n+1}{1}+inom{n+2}{2}+inom{n+3}{3}+cdots\ inom{n+1}{0}+inom{n+1}{1}+inom{n+2}{2}+inom{n+3}{3}+cdots\ =inom{n+2}{1}+inom{n+2}{2}+inom{n+3}{3}+cdots\ =inom{n+3}{2}+inom{n+3}{3}+cdots ]

就这么不断合并下去,就能得到结果了。

上指标求和

[sum_{i=0}^{n}inom{i}{m}=inom{n+1}{m+1} ]

换一种方法加法裂项。

[inom{n+1}{m+1}=inom{n}{m}+inom{n}{m+1}\ =inom{n}{m}+inom{n-1}{m}+inom{n-1}{m+1}\ =inom{n}{m}+inom{n-1}{m}+inom{n-2}{m}+inom{n-2}{m+1}\ cdots ]

一直往下裂项即可。

范德蒙德卷积

[inom{n+m}{k}=sum_{i=0}^{k}inom{n}{i}inom{m}{k-i} ]

证明用二项式定理会非常简洁。

[(1+x)^{n+m}=(1+x)^n(1+x)^m ]

两边提取 (x^k) 系数即证。

(color{black}{ exttt{S}}color{red}{ exttt{egmentTree}}) 给出了一种很简洁组合证法:(n+m) 个球里面选 (k) 个球,可以枚举在前 (n) 个球里面选了几个来计算。

广义二项式定理

定义广义二项式系数,(r) 是实数

[inom{r}{m}=dfrac{r^{underline{m}}}{m!} ]

广义二项式定理:

[(x+y)^r=sum_{i}inom{r}{i}x^iy^{r-i} ]

证明可以直接在原点把 (f(z)=(1+z)^{r}) 这个东西泰勒展开(显然这个东西和原来等价吧,令 (z=dfrac{x}{y}),乘 (y^r) 即可)。

[sum_{i=0}f^{(i)}(0)dfrac{x^i}{i!} ]

[f^{(k)}(z)=r^{underline{k}}(1+z)^{r-k} ]

(z=0)(sum_limits{i=0}dfrac{r^{underline{i}}}{i!}x^i=sumlimits_{i=0}dbinom{r}{i}x^i)

(|z|<1) 的时候这个东西才收敛,所以要保证 (|z|<1)

上指标反转

[inom{r}{m}=(-1)^{m}inom{m-r-1}{m} ]

根据广义二项式系数,我们只需要证明 (r^{underline{m}}=(-1)^{m}(m-r-1)^{underline{m}})

根据上面阶乘幂的公式可得

[(-1)^{m}(m-r-1)^{underline{m}}=(r+1-m)^{overline{m}}=r^{underline{m}} ]

取一半

[sum_{i}inom{2i}{i}x^i=dfrac{1}{sqrt{1-4x}} ]

一个非常牛逼的构造:

[x^{underline{k}}(x-dfrac{1}{2})^{underline{k}}=x(x-dfrac{1}{2})(x-1)(x-dfrac{3}{2})cdots(x-k+dfrac{1}{2})\ =dfrac{1}{2^{2k}}2x(2x-1)(2x-2)(2x-3)cdots(2x-2k+1)\ =dfrac{2x^{underline{2k}}}{2^{2k}} ]

(x=k)(dfrac{(2k)!}{2^{2k}}=k!(k-dfrac{1}{2})^{underline{k}})

两边同时除以 (k!^2)

[dfrac{(2k)^{underline{k}}}{k!2^{2k}}=dfrac{(k-dfrac{1}{2})^{underline{k}}}{k!}\ inom{2k}{k}cdotdfrac{1}{2^{2k}}=inom{k-dfrac{1}{2}}{k} ]

右边上指标反转

[inom{2k}{k}=2^{2k}cdot (-1)^{k}inom{-dfrac{1}{2}}{k}\ =(-4)^{k}inom{-dfrac{1}{2}}{k} ]

所以

[sum_iinom{2i}{i}x^i=sum_i(-4x)^{i}inom{-dfrac{1}{2}}{i} ]

由广义二项式定理得

[sum_{i}inom{-dfrac{1}{2}}{i}(-4x)^i=(1-4x)^{-frac{1}{2}} ]

阶乘幂的二项式定理

从cmd那里学来的东西。

[(x+y)^{underline{n}}=sum_{i=0}^{n}inom{n}{i}x^{underline{i}}y^{underline{n-i}}\ (x+y)^{overline{n}}=sum_{i=0}^{n}inom{n}{i}x^{overline{i}}y^{overline{n-i}} ]

证明:

上面那行,左右同除 (n!) 并把二项式系数阶乘展开

[inom{x+y}{n}=sum_{i=0}^{n}dfrac{x^{underline{i}}}{i!}dfrac{y^{underline{n-i}}}{(n-i)!}=sum_{i=0}^{n}inom{x}{i}inom{y}{n-i} ]

就是范德蒙德卷积。

下面那行,把 (x^{overline{n}})((-1)^{n}(-x)^{underline{n}}) 带掉,两边 ((-1)^n) 是可以直接约掉的,两边可能还会有 (-1) (因为 ((-x)^n)) 但是数量是相等的,所以就是上面下降幂那个式子了,等价的。

斯特林数

第二类斯特林数

(egin{Bmatrix}n\mend{Bmatrix}) 表示。

定义

(n) 个不同的球放入 (m) 个相同的盒子,不准空盒的方案数。

递推

(egin{Bmatrix}n\mend{Bmatrix}=egin{Bmatrix}n-1\m-1end{Bmatrix}+megin{Bmatrix}n-1\mend{Bmatrix})

意思是,第 (n) 个球如果单独放一个盒子,有 (egin{Bmatrix}n-1\m-1end{Bmatrix}) 种方案;如果原来已经放好了 (m) 个盒子,那么随便放进一个,有 (megin{Bmatrix}n-1\mend{Bmatrix}) 种方案。

几个边界

[egin{Bmatrix}n\1end{Bmatrix}=1(n>0),egin{Bmatrix}n\nend{Bmatrix}=1(nge 0);\ egin{Bmatrix}n\2end{Bmatrix}=2^{n-1}-1(n> 0),egin{Bmatrix}n\n-1end{Bmatrix}=inom{n}{2} ]

一些性质

[m^n=sum_{i}egin{Bmatrix}n\iend{Bmatrix}i!inom{m}{i} ]

等式左边的组合意义是 (n) 个不同的球放进 (m) 个不同的盒子的方案数,允许空盒。

等式右边是枚举 (n) 个盒子里选出 (i) 个盒子非空,乘上盒子的标号 (i!),然后把 (n) 个球放进去。

易知这两个东西是等价的。

另外,阶乘拆掉可以得到普通幂与下降幂的关系。

[m^n=sum_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}m^{underline{i}} ]

这个东西还是比较有用的,有时候你看见一个自然数幂求和,底数或者指数有一维很小都可以拆成第二类斯特林数快速计算。

这个式子还可以和上升幂扯上关系。

上面那个式子把 (m)(-m) 代替。

[(-m)^{n}=sum_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}(-m)^{underline{i}}\ m^n(-1)^{n}=sum_{i=0}^{n}(-1)^iegin{Bmatrix}n\iend{Bmatrix}(-1)^i(-m)^{underline{i}}\ m^n(-1)^{n}=sum_{i=0}^{n}(-1)^iegin{Bmatrix}n\iend{Bmatrix}m^{overline{i}}\ m^n=sum_{i=0}^{n}(-1)^{n-i}egin{Bmatrix}n\iend{Bmatrix}m^{overline{i}}\ ]

[egin{Bmatrix}n\mend{Bmatrix}=dfrac{1}{m!}sum_{i=0}^{m}inom{m}{i}(-1)^{m-i}i^n ]

把第一个式子二项式反演一下就好了。

[sum_{i=n}egin{Bmatrix}i\nend{Bmatrix}dfrac{x^i}{i!}=dfrac{1}{n!}(e^x-1)^n ]

这是一列第二类斯特林数的 ( m EGF)

(m) 个盒子可以看作单个盒子的无序组合。单个盒子的生成函数是 (e^x-1)(n) 次方掉就是 (n) 个盒子。除去标号,所以除阶乘。

例题

第一类斯特林数

(egin{bmatrix}n\mend{bmatrix}) 表示。

定义

(n) 个元素分成 (m) 个环的方案数。

环是指 ([A,B,C]Leftrightarrow [B,C,A]Leftrightarrow [C,B,A])

也就是说,如果 (AB,CD) 分别组成了两个环,我们认为 ([A,B,C,D])([B,A,D,C]) 是同一种分法。

递推

[egin{bmatrix}n\mend{bmatrix}=egin{bmatrix}n-1\m-1end{bmatrix}+(n-1)egin{bmatrix}n-1\mend{bmatrix} ]

意思是,第 (n) 个元素要么单独成环,要么插入到前面的环中去,而总共有 (n-1) 个可以插入的地方。

几个边界

[egin{bmatrix}n\0end{bmatrix}=[n=0],egin{bmatrix}n\nend{bmatrix}=1\ egin{bmatrix}n\n-1end{bmatrix}=inom{n}{2},egin{bmatrix}n\1end{bmatrix}=(n-1)! ]

一些性质

[sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}=n! ]

如果把一个排列看作置换,那么恰好有 (i) 个置换的排列个数就是 (egin{bmatrix}n\iend{bmatrix}) ,加起来就是排列总数。

[x^{overline{n}} =sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i ]

然而这个式子并不像第二类斯特林数那样有优美的组合解释 其实就是我不会 。但是可以归纳证明。

[x^{overline{n+1}}=(x+n)x^{overline{n}}\ =(x+n)sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i\ =xsum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i+nsum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i\ =sum_{i=1}^{n+1}egin{bmatrix}n\i-1end{bmatrix}x^i+sum_{i=0}^{n}negin{bmatrix}n\iend{bmatrix}x^i\ =sum_{i=0}^{n+1}egin{bmatrix}n+1\iend{bmatrix}x^i ]

[x^{underline{n}}=sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}(-1)^{n-i}x^i ]

可以暴力归纳,但是有更简洁的证明方法:

[x^{underline{n}}=(-1)^{n}(-x)^{overline{n}}\ =(-1)^{n}sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}(-x)^i\ =sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}(-1)^{n-i}x^i ]

[S_1(x,y)=sum_{i}sum_{j}egin{bmatrix}i\jend{bmatrix}dfrac{x^iy^j}{i!}=(1-x)^{-y}\ n![x^n](1-x)^{-y}=y^{underline{n}}\ sum_{i=0}egin{bmatrix}i\kend{bmatrix}dfrac{x^i}{i!}=dfrac{(-ln(1-x))^k}{k!} ]

一个环的 ( m EGF)(F(x)=sumlimits_{i=0}egin{bmatrix}i\1end{bmatrix}dfrac{x^i}{i!}=sumlimits_{i=0}dfrac{x^i}{i}=-ln(1-x))

改成二元GF的时候要注意,因为 (j=1) 还得乘 (y) ,即单个环的二元GF是 (yF(x))

众所周知 (exp) 的组合意义是 生成集合,那么 (exp(yF(x))) 就是置换的生成函数。

[exp(yF(x))=exp(-yln(1-x))=(1-x)^{-y} ]

然后看第二行

[n![x^n](1-x)^{-y}\ =n![x^n]sum_{i}inom{-y}{i}(-x)^{i}\ =n!inom{-y}{n}(-1)^{n}\ =n!dfrac{(-y)^{underline{n}}}{n!}(-1)^{n}\ =(-1)^{n}(-y)^{underline{n}}\ =y^{overline{n}} ]

( m EGF) 就是 (k) 个环的无序组合: (dfrac{1}{k!}F^k(x)=dfrac{(-ln(1-x))^k}{k!})

例题

斯特林数综合应用

两类斯特林数,阶乘幂和普通幂之间都是有关系的

幂之间的转换

其实就是把上面的式子拉了下来整合了一下。

[m^n=sum_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}m^{underline{i}}=sum_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}(-1)^{n-i}m^{overline{i}}\ x^{overline{n}} =sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}x^i\ x^{underline{n}}=sum_{i=0}^{n}egin{bmatrix}n\iend{bmatrix}(-1)^{n-i}x^i ]

反转公式

[sum_{k=m}^{n}egin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\mend{bmatrix}(-1)^{n-k}=[n=m]\ sum_{k=m}^{n}egin{bmatrix}n\kend{bmatrix}egin{Bmatrix}k\mend{Bmatrix}(-1)^{n-k}=[n=m] ]

证明:

[m^n=sum_{k=0}^{n}egin{Bmatrix}n\kend{Bmatrix}m^{underline{k}}\ =sum_{k=0}^{n}egin{Bmatrix}n\kend{Bmatrix}sum_{i=0}^{k}egin{bmatrix}k\iend{bmatrix}m^{i}(-1)^{k-i}\ =sum_{i=0}^{n}m^isum_{k=i}^{n}egin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\iend{bmatrix}(-1)^{k-i} ]

注意到这个式子是恒等的,也就是说对于任意的 (n,m) 都成立。

这个当且仅当 (sumlimits_{k=i}^{n}egin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\mend{bmatrix}(-1)^{k-m}=[n=m]) 才成立。

但是人们好像比较喜欢把 ((-1)^{k-m}) 写成 ((-1)^{n-k}) ,并且这么写后面可以方便证明斯特林反演 。反正这个东西只有在 (n=m) 的时候才有值,所以是可以这么改的。

还有一个式子:

[m^{overline{n}}=sum_{k=0}^{n}egin{bmatrix}n\kend{bmatrix}m^k\ =sum_{k=0}^{n}egin{bmatrix}n\kend{bmatrix}sum_{i=0}^{k}egin{Bmatrix}k\mend{Bmatrix}(-1)^{k-i}m^{overline{i}}\ =sum_{i=0}^{k}m^{overline{i}}sum_{k=0}^{n}egin{bmatrix}n\kend{bmatrix}egin{Bmatrix}k\mend{Bmatrix}(-1)^{k-i} ]

同理可知,第二行是对的。

斯特林反演

[F(n)=sum_{i=0}^{n}egin{Bmatrix}n\iend{Bmatrix}G(i)Leftrightarrow G(n)=sum_{i=0}^{n}(-1)^{n-i}egin{bmatrix}n\iend{bmatrix}F(i) ]

证明:

考虑现在有一个式子满足

[G(n)=sum_{i=0}^{n}(-1)^{n-i}egin{bmatrix}n\iend{bmatrix}F(i) ]

由反转公式 (sumlimits_{k=m}^{n}egin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\mend{bmatrix}(-1)^{n-k}=[n=m]) 得到

[F(n)=sum_{i=0}^{n}[i==n]F(i)\ =sum_{i=0}^{n}sum_{k=i}^{n}egin{Bmatrix}n\kend{Bmatrix}egin{bmatrix}k\iend{bmatrix}(-1)^{n-k}F(i)\ =sum_{k=0}^{n}egin{Bmatrix}n\kend{Bmatrix}sum_{i=0}^{k}egin{bmatrix}k\iend{bmatrix}(-1)^{k-i}F(i)\ =sum_{k=0}^{n}egin{Bmatrix}n\kend{Bmatrix}G(k) ]

《具体数学》上给了一个记忆的方法:大幂表示小幂往往要带 (-1) 的次幂,而一般 (x^{overline{n}}>x^n>x^{underline{n}})

伯努利数

伯努利数用来解决自然数幂和的问题,可以直接给出通项。

定义

当时就是为了研究自然数幂前缀和才搞的这么个东西,伯努利找到了规律。

[S_m(n)=0^m+1^m+2^m+cdots+(n-1)^m ]

那么

[S_m(n)=dfrac{1}{m+1}sum_{i=0}^{m}inom{m+1}{i}B_in^{m+1-i} ]

也就是说,伯努利数其实导出的是自然数幂前缀和的通项公式。

【注】伯努利数求出的前缀和通项定义 (0^0=1)

大坑点:求和上界要减一,而很多题目是求和到 (n) ,这时候通项公式要单独给 (a_m) 加一或者单独讨论 (n^k) 的贡献

生成函数

暂且抛开伯努利数这个东西,我们按照calc加强版那题的思路,重新推一遍自然数幂和的 ( m EGF)

首先得要知道 (e^{cx}={1,c,c^2,c^3,cdots})

构造自然数幂的 ( m EGF)

[F_k(x)=sumdfrac{k^ix^i}{i!}=sumdfrac{(kx)^i}{i!}=e^{kx} ]

然后构造自然数幂前缀和的 ( m EGF)

[G_n(x)=sum_{k=0}^{n-1} F_k(x)=sum_{k=0}^{n-1}e^{kx}=dfrac{e^{nx}-1}{e^x-1} ]

这样子

[[x^k]G_n(x)=(sum_{i=0}^{n-1}i^k)dfrac{x^k}{k!} ]

就可以得出自然数幂的前缀和了,可以发现没有伯努利数也能做。

事实上伯努利数的 ( m EGF) 就是

[B(x)=dfrac{x}{e^x-1} ]

那么

[G_n(x)=B(x)dfrac{e^{nx}-1}{x} ]

关于这个生成函数这个生成函数为什么是对的。

考虑 (dfrac{e^{nx}-1}{x}) 这个东西展开了是什么。

[dfrac{e^{nx}-1}{x}=dfrac{sum_{i=1}dfrac{n^ix^i}{i!}}{x}=sum_{i=0}dfrac{n^{i+1}x^i}{(i+1)!} ]

单独考虑 (G(x)) 的第 (k) 项系数。

[[x^k]G(x)=dfrac{S_k(x)}{k!}=sum_{i=0}^{k}dfrac{B_i}{i!}dfrac{x^{k-i+1}}{(k-i+1)!}\ S_k(x)=dfrac{1}{k+1}sum_{i=0}^{k}inom{k+1}{i}B_ix^{k-i+1} ]

所以 (B(x)=dfrac{x}{e^x-1}) 是对的。

不过如果直接拿下面的递推公式是可以正向推的。

递推

前几项为:

[B_0=1,B_1=-dfrac{1}{2},B_2=dfrac{1}{6},B_3=0,B_4=-dfrac{1}{30},B_5=0,B_6=dfrac{1}{42},B_7=0,B_8=-dfrac{1}{30},cdots ]

我很好奇那个生成函数是怎么求出真实值的,于是让 (color{black}{ exttt{x}}color{red}{ exttt{义x}}) 指导了一下,得到的结果是:你手动求逆就好了。

事实上这个东西是有方法递推的:

[B_0=1\ sum_{i=0}^{n}inom{n+1}{i}B_i=0 ]

根据定义把 (n=1) 带进去即可证明。

例题

  • P5850 calc加强版题解

  • P3711 仓鼠的数学题题解

  • P4464 [国家集训队]JZPKIL题解
    毒瘤题,毕竟是国集选手往死里出的题,还好是2012年的,伯努利数只占了一小部分,而且可以用拉格朗日插值代替。前置知识:莫比乌斯反演,Pollard-Rho。

  • P7102 [w3R1] 算题解
    也是毒瘤题,甚至比上面那题还毒瘤,某初二神仙出的。前置知识:Pollard-Rho,莫比乌斯反演,可能会需要CZT变换。
    CZT变换不会可以看开头的多项式笔记(一)。

    说句闲话:现在怎么出题人都喜欢毒瘤,净出些什么多项式+数论然后硬套一个Pollard-Rho。。。

欧拉数

有个不太标准的符号:(left<egin{matrix}n\kend{matrix} ight>)

定义

长度为 (n) 的排列 (p) 中,恰好有 (k) 个升高的排列个数。升高指 (p_i<p_{i+1})

递推

[left<egin{matrix}n\kend{matrix} ight>=(k+1)left<egin{matrix}n-1\kend{matrix} ight>+(n-k)left<egin{matrix}n-1\k-1end{matrix} ight> ]

考虑现在有一个长度为 (n-1) 的排列,现在要插入 (n)

如果插在开头或者 (p_i<p_{i+1}) 的位置升高数不变,这样的位置有 (k+1) 个;插在结尾或者 (p_i>p_{i+1}) 的位置会多处一个升高,那么插了不变的位置有 ((k-1)+1) 个,总共有 (n) 个位子可以插,所以插了会升高的位置有 (n-k) 个。

这里我一开始理解了好久,一直感觉第二个系数是 (n-k-1) ,因为有 (k) 个升高。后来才发现因为我们从 (k-1) 转移过来,所以现有的升高其实是 (k-1) 个。

几个边界

[left<egin{matrix}0\kend{matrix} ight>=[k=0],left<egin{matrix}n\0end{matrix} ight>=1, ]

一些性质

有一些恒等式实在证不出来,参考了 Karry5307的日报

请做好一大波式子来袭的准备,这个比起斯特林,伯努利数等,烦多了。

[left<egin{matrix}n\kend{matrix} ight>=left<egin{matrix}n\n-k-1end{matrix} ight> ]

把一个排列翻转,原来的下降变成了升高,而下降加升高是 (n-1)

[left<egin{matrix}n\mend{matrix} ight>=sum_{k=0}^{m}inom{n+1}{k}(m+1-k)^n(-1)^{k} ]

考虑归纳证明:

先把递推公式拉出来:

[left<egin{matrix}n\mend{matrix} ight>=(m+1)left<egin{matrix}n-1\mend{matrix} ight>+(n-m)left<egin{matrix}n-1\m-1end{matrix} ight> ]

只看右边:

[RHS=(m+1)sum_{k=0}^{m}inom{n}{k}(m+1-k)^{n-1}(-1)^{k}+(n-m)sum_{k=0}^{m}inom{n}{k}(m-k)^{n-1}(-1)^{k}\ =sum_{k=0}^{m}(-1)^{k}inom{n}{k}left((m+1)(m+1-k)^{n-1}+(n-m)(m-k)^{n-1} ight)\ =sum_{k=0}^{m}(-1)^{k}inom{n}{k}left((m+1-k)(m+1-k)^{n-1}+k(m+1-k)^{n-1}+(n-m)(m-k)^{n-1} ight)\ =sum_{k=0}^{m}(-1)^{k}inom{n}{k}left((m+1-k)^n+dfrac{k}{m+1-k}(m+1-k)^n+(n-m)(m-k)^{n-1} ight)\ ]

大眼观察可以联想到 (dbinom{n}{k}dfrac{k}{n+1-k}=dbinom{n}{k-1})

[RHS=sum_{k=0}^{m}(-1)^{k}left(inom{n}{k}+inom{n}{k-1} ight)(m+1-k)^n+sum_{k=0}^{m}inom{n}{k}(dfrac{k}{m+1-k}-dfrac{k}{n+1-k})(m+1-k)^n(-1)^{k}\+sum_{k=0}^{m}(-1)^{k}inom{n}{k}(n-m)(m-k)^{n-1}\ =sum_{k=0}^{m}(-1)^kinom{n+1}{k}(m+1-k)^{n}+sum_{k=0}^{m}inom{n}{k}dfrac{k(m-n)}{(m+1-k)(n+1-k)}(m+1-k)^{n}(-1)^{k}\ +sum_{k=0}^{m}(-1)^kinom{n}{k}(n-m)(m-k)^{n-1}\ =sum_{k=0}^{m}(-1)^kinom{n+1}{k}(m+1-k)^{n}+sum_{k=0}^{m}inom{n}{k}dfrac{k(m-n)}{n+1-k}(m+1-k)^{n-1}(-1)^{k}\ +sum_{k=0}^{m}(-1)^kinom{n}{k}(n-m)(m-k)^{n-1}\ =sum_{k=0}^{m}(-1)^kinom{n+1}{k}(m+1-k)^{n}+sum_{k=1}^{m}inom{n}{k-1}(m-n)(m+1-k)^{n-1}(-1)^{k}\ +sum_{k=1}^{m+1}(-1)^kinom{n}{k-1}(n-m)(m-k+1)^{n-1}\ =sum_{k=0}^{m}(-1)^kinom{n+1}{k}(m+1-k)^{n}+sum_{k=1}^{m}inom{n}{k-1}(m-n)(m+1-k)^{n-1}(-1)^{k}\ +sum_{k=1}^{m}(-1)^kinom{n}{k-1}(n-m)(m-k+1)^{n-1}\ ]

可以发现后面两个非常难处理的 (sum) 消光了,然后就证完了。

这个式子可以用来求一行欧拉数。

[x^n=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n} ]

这个被叫做 ( m Worpitzky) 恒等式。zky恒等式,是机房红太阳发明的/se

[x^{n+1}=xcdot x^n\ =sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>xinom{x+k}{n} ]

暂时跳开整个证明,看看 (xdbinom{x+k}{n}) 是啥,不然完全推不下去。

[xinom{x+k}{n}=(k+1)inom{x+k}{n+1}+(n-k)inom{x+k+1}{n+1} ]

我也不知道卡老师怎么想到这个的,但是它确实是对的,而且和欧拉数的递推非常相似。

证明直接暴力拆阶乘就好了。

[LHS=dfrac{x(x+k)!}{n!(x+k-n)!}\ RHS=dfrac{(k+1)(x+k)!}{(n+1)!(x+k-n-1)!}+dfrac{(n-k)(x+k+1)!}{(n+1)!(x+k-n)!}\ =dfrac{(x+k-n)(k+1)(x+k)!+(x+k+1)(n-k)(x+k)!}{(n+1)!(x+k-n)!}\ =dfrac{(x+k)!(xk+k^2-nk+x+k-n+xn+kn+n-kx-k^2-k)}{(n+1)!(x+k-n)!}\ =dfrac{(x+k)!(x+xn)}{(n+1)!(x+k-n)!}\ =LHS ]

非常暴力。如果知道结论确实很好证明,但是不知道没有这个结论的时候是怎么找到这个关系的。

然后代到原来的式子里去。

[=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>xinom{x+k}{n}\ =sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>left((k+1)inom{x+k}{n+1}+(n-k)inom{x+k+1}{n+1} ight)\ =sum_{k=0}^{n}(k+1)left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n+1}+sum_{k=0}^{n}(n-k)left<egin{matrix}n\kend{matrix} ight>inom{x+k+1}{n+1}\ =sum_{k=0}^{n}(k+1)left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n+1}+sum_{k=0}^{n-1}(n-k)left<egin{matrix}n\kend{matrix} ight>inom{x+k+1}{n+1}\ =sum_{k=0}^{n}(k+1)left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n+1}+sum_{k=1}^{n}(n-k)left<egin{matrix}n\k-1end{matrix} ight>inom{x+k}{n+1}\ =sum_{k=0}^{n}left<egin{matrix}n+1\kend{matrix} ight>inom{x+k}{n+1}\ =sum_{k=0}^{n+1}left<egin{matrix}n+1\kend{matrix} ight>inom{x+k}{n+1}\ ]

证毕。

[m!egin{Bmatrix}n\mend{Bmatrix}=sum_{k}left<egin{matrix}n\kend{matrix} ight>inom{k}{n-m} ]

先把上一条式子拉下来:

[x^n=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n} ]

然后要一点有限微积分基础,可以到第一章看(其实我是为了这个才去看了点有限微积分的东西的qaq)。

两边同时差分

[Delta(x^n)=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>left(inom{x+1+k}{n}-inom{x+k}{n} ight)=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n-1} ]

那么两边 (m) 阶差分:

[Delta^m(x^n)=sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>inom{x+k}{n-m} ]

从有限微积分那一章拉一个对 (x^n)(m) 阶差分的式子

[Delta^m(x^n)=sum_{i=0}^{m}inom{m}{i}(-1)^{m-i}(x+i)^{n} ]

再从第二类斯特林数拉一个式子下来:

[egin{Bmatrix}n\mend{Bmatrix}=dfrac{1}{m!}sum_{i=0}^{m}inom{m}{i}(-1)^{m-i}i^n ]

和上面的式子对上了!

代入 (x=0) ,所以

[sum_{k=0}^{n}left<egin{matrix}n\kend{matrix} ight>inom{k}{n-m}=m!egin{Bmatrix}n\mend{Bmatrix} ]

[left<egin{matrix}n\mend{matrix} ight>=sum_{k}egin{Bmatrix}n\kend{Bmatrix}inom{n-k}{m}(-1)^{n-k-m}k! ]

先把上一个式子拉下来

[m!egin{Bmatrix}n\mend{Bmatrix}=sum_{k}left<egin{matrix}n\kend{matrix} ight>inom{k}{n-m} ]

然后是特别神仙的操作:两边对 (m) 求和

[sum_{m}m!egin{Bmatrix}n\mend{Bmatrix}=sum_{m}sum_{k}left<egin{matrix}n\kend{matrix} ight>inom{k}{n-m} ]

又是非常神仙的操作:两边乘上 (x^{n-m})

[sum_{m}x^{n-m}m!egin{Bmatrix}n\mend{Bmatrix}=sum_{m}sum_{k}x^{n-m}left<egin{matrix}n\kend{matrix} ight>inom{k}{n-m}\ ]

[RHS=sum_{t}sum_{k}x^tleft<egin{matrix}n\kend{matrix} ight>inom{k}{t}\ =sum_{k}left<egin{matrix}n\kend{matrix} ight>sum_{t}x^tinom{k}{t}\ =sum_{k}left<egin{matrix}n\kend{matrix} ight>(x+1)^k ]

(x-1) 代替 (x) 得到

[sum_{m}(x-1)^{n-m}m!egin{Bmatrix}n\mend{Bmatrix}=sum_{k}left<egin{matrix}n\kend{matrix} ight>x^k ]

两边 (x^k) 系数应该相等。左边 (x^k) 系数:

[[x^k]=sum_{t}inom{t}{k}(-1)^{t-k}(n-t)!egin{Bmatrix}n\n-tend{Bmatrix}\ =sum_{t}inom{n-t}{k}(-1)^{n-t-k}t!egin{Bmatrix}n\tend{Bmatrix}\ ]

然后就没有然后了。

例题

原文地址:https://www.cnblogs.com/zzctommy/p/14272233.html