标签:第二类 begin end 斯特林 sum tbinom Bmatrix frac 小记
第一类斯特林数没弄懂,先咕了。
对于第二类斯特林数记做 \(\begin{Bmatrix}n\\ m\end{Bmatrix}\),也可记做 \(S(n,m)\),表示将 \(n\) 个两两不同的元素,划分到 \(m\) 个互不区分的非空集合的方案数。
递推式
\[\begin{Bmatrix}n\\ m\end{Bmatrix}=\begin{Bmatrix}n-1\\ m-1\end{Bmatrix}+\begin{Bmatrix}n-1\\ m\end{Bmatrix} \]边界是 \(\begin{Bmatrix}n\\ 0\end{Bmatrix}=[n=0]\)
证明:
新插入一个元素时,有两种方案:
- 将新元素放进一个新集合里,方案数为 \(\begin{Bmatrix}n-1\\ m-1\end{Bmatrix}\)
- 将新元素放进一个原来有的集合里,方案数为 \(m×\begin{Bmatrix}n-1\\ m\end{Bmatrix}\)
最后用加法原理相加即可。
通项公式
\(\begin{Bmatrix}n\\ m\end{Bmatrix}=\frac{1}{m!}\sum_{i=0}^m(-1)^{m-i}\tbinom{m}{i}i^n\)
简单理解就是每次钦定有多少个集合有元素,再容斥一下解决,最后因为无序,再除以个 \(\frac{1}{m!}\)。
证明:
证明采取二项式反演,设 \(f(i)\) 为将 \(n\) 个元素划分成 \(i\) 个两两不同的集合的方案数(允许有空集),\(g(i)\) 为将 \(n\) 个元素划分成 \(i\) 个两两不同的非空集合的方案数(不允许有空集)
易得
\[f(i)=i^n\\ f(i)=\sum_{j=0}^i\tbinom{i}{j}g(j) \]那么反演一下:
\[g(i)=\sum_{j=0}^i(-1)^{i-j}\tbinom{i}{j}f(j)\\ g(i)=\sum_{j=0}^i(-1)^{i-j}\tbinom{i}{j}j^n \]根据定义可得 \(\frac{1}{m!}g(m)=\begin{Bmatrix}n\\ m\end{Bmatrix}\)
那么更常用的一种写法是
\[\begin{Bmatrix}n\\ i\end{Bmatrix}=\frac{1}{i!}\sum_{j=0}^i\frac{(-1)^{i-j}j^ni!}{j!(i-j)!}\\ \begin{Bmatrix}n\\ i\end{Bmatrix}=\sum_{j=0}^i\frac{(-1)^{i-j}j^n}{j!(i-j)!} \]一种技巧就是设 \(f_i=\frac{(-1)^i}{i!}\),\(g_i=\frac{i^n}{i!}\),然后
\[\begin{Bmatrix}n\\ m\end{Bmatrix}=\sum_{i=0}^mf_i*g_{m-i} \]\(NTT\) 优化一下。
标签:第二类,begin,end,斯特林,sum,tbinom,Bmatrix,frac,小记 来源: https://www.cnblogs.com/nanfeng-blog/p/15233181.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。