zoukankan      html  css  js  c++  java
  • 多项式笔记(二)

    由于源码较长,可能需要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}\ ]

    然后就没有然后了。

    例题

  • 相关阅读:
    IE9以上获取元素的写法
    struts2动态跳转action,修改和添加共用一个页面
    Struts2网页面传值两种方式
    hibernate方法中参数传入数组的查询方法
    获取当前泛型类的传入,BaseDaoImpl<T> implements BaseDao<T>
    .net 必看书籍1
    knockjs
    javascript 处理链接的多种方式
    ckeditor 工具栏的配置
    C# 针对文件夹的操作
  • 原文地址:https://www.cnblogs.com/zzctommy/p/14272233.html
Copyright © 2011-2022 走看看