欧拉数学习小记
作者:互联网
参考资料:
https://www.luogu.com.cn/blog/Karry5307/eulerian-numbers
https://www.cnblogs.com/mengnan/p/9307521.html
欧拉数:\(\langle\begin{matrix}n\\ k\end{matrix}\rangle\)(为了方便编辑记作\(E(n,k)\)),表示:有多少个长度为\(n\)的排列\(p\),满足\(\sum_i [p_i<p_{i+1}]=k\),即相邻上升个数为\(k\)。
【一些性质】
递推式:\(E(n,k)=(k+1)E(n-1,k)+(n-k-1)E(n-1,k-1)\)
考虑从\(n-1\)转移到\(n\),新增的\(n\)插到哪里:
- \(n\)插到末尾,相邻上升个数加一。
- \(n\)插到开头,相邻上升个数不变。
- \(n\)插到原来\(p_i<p_{i+1}\)的之间,相邻上升个数不变。
- \(n\)插到原来\(p_i>p_{i+1}\)的之间,相邻上升个数加一。
综合起来可得递推式。
对称性:\(E(n,k)=E(n,n-k-1)\)(如果\(n>0\))
显然任意排列\(\{p_i\}\)与\(\{n-p_{i}+1\}\)一一对应,而且两者相邻上升个数总和为\(n-1\)。
通项1:\(E(n,k)=\sum_{i=k}^{n-1}\binom{i}{k}(-1)^{i-k}(n-i)!S(n,n-i)\)。其中\(S\)为第二类斯特林数。
考虑相邻上升个数至少为\(k\)如何计算,记为\(F(n,k)\)。也就是把\(n\)个数分成\(n-k\)个集合,对这\(n-k\)个集合进行排列。同一个集合的连在一起,并且排好序。于是\(F(n,k)=(n-i)!S(n,n-i)\)。
由于\(F(n,k)=\sum_{i=k}^{n-1} \binom{i}{k}E(n,k)\),反演得\(E(n,k)=\sum_{i=k}^{n-1}\binom{i}{k}(-1)^{i-k}F(n,i)\)。
通项2:\(E(n,k)=(-1)^{n-k}\sum_{i=0}^{n-k}(-1)^ii^n\binom{n+1}{k+i+1}\)
在通项1中,代入第二类斯特林数通项\(S(n,k)=\frac{1}{k!}\sum_{i=0}^k\binom{k}{i}(-1)^{k-i}i^n\)。
通过一些基础的组合数技巧可以得到通项2。
通项3:\(E(n,k)=\sum_{i=0}^k(-1)^i(k+1-i)^n\binom{n+1}{i}\)
由于\(E(n,k)=E(n,n-k-1)\),把\(E(n,n-k-1)\)代入通项2得到\(E(n,k)=\sum_{i=0}^{k+1}(-1)^i(k+1-i)^n\binom{n+1}{i}\)
如果\(n>0\),则枚举边界\(0\dots k+1\)可以改为\(0\dots k\)。
如果\(n=0\),不满足对称性。不过这时候发现把枚举边界\(0\dots k+1\)改为\(0\dots k\)恰好为正确答案。
所以\(E(n,k)=\sum_{i=0}^k(-1)^i(k+1-i)^n\binom{n+1}{i}\)
【Worpitzky 恒等式】:\(x^n=\sum_kE(n,k)\binom{x+k}{n}\)。
首先有\(x\binom{x+k}{n}=(k+1)\binom{x+k}{n+1}+(n-k)\binom{x+k+1}{n+1}\)。展开即可证明。
现在证明\(xx^n=\sum_kE(n,k)x\binom{x+k}{n}\)等于\(x^{n+1}=\sum_{k}E(n+1,k)\binom{x+k}{n+1}\)。
左边展开\(x\binom{x+k}{n}\),右边展开\(E(n+1,k)\),化一下式子即可证明。
标签:dots,sum,个数,学习,相邻,通项,binom,欧拉,小记 来源: https://www.cnblogs.com/jz-597/p/14701751.html