码迷,mamicode.com
首页 > 其他好文 > 详细

斯特林反演

时间:2019-07-25 23:46:53      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:lin   span   降幂   begin   row   个数   sum   等价   方案   

首先是斯特林反演的公式:
\[f(i)=\sum_{j=0}^i\begin{Bmatrix}i\\j\end{Bmatrix}g(j) \Longleftrightarrow g(i)=\sum_{j=0}^i(-1)^{i-j}\begin{bmatrix}i\\j\end{bmatrix}f(j)\]
然后考虑这玩意的意义:
\(n\) 个有标号的物品,设:在某种条件下把它们弄成允许相同的方案数为 \(G(n)\),全部不同的方案数为 \(F(n)\)
那么枚举这 \(n\) 个物品的集合划分方案,让每个集合里的物品相同,不同集合的物品不同,那么易得\[G(n)=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}F(i)\]
运用斯特林反演\[F(n)=\sum_{i=0}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}G(i)\]
一般来说 \(G(n)\) 相对好求一些,那么我们就可以这么算 \(F(n)\) 了。

例题

[雅礼集训——方阵]
给出一个 \(n\times m\) 大小的矩形,每个位置可以填上 \([1,c]\) 中的任意一个数,要求填好后任意两行互不等价且任意两列互不等价,求方案数。
运用上述方法,把一行看作一个物品,则易知 \(G(i)=(c^i)^{\underline{m}}\)
斯特林反演后统计答案即可。分治NTT算第一类斯特林数并用多点求值算下降幂可以做到 \(O(nlog^2n)\)

斯特林反演

标签:lin   span   降幂   begin   row   个数   sum   等价   方案   

原文地址:https://www.cnblogs.com/bestwyj/p/11247429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!