二项式反演&斯特林数&斯特林反演 学习笔记

二项式反演

从错排数讲起,

考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。

用容斥来解决这个问题,不难发现错排数即为

g(n)=i=1n(1)i(ni)(ni)!

考虑二项式定理,
(11)n=i=0n(1)i(ni)=0

上式当n=0时值为1,所以有
i=0n(1)i(ni)=[n=0]

设n个元素排列数f(n)=n!,则显然有
f(n)=i=0n(ni)g(i)

将g(n)换一下形式有
g(n)=i=0n[ni=0](ni)g(i)

将*式代入,有
g(n)=i=0nj=0ni(1)j(nij)(ni)g(i)

注意到
(nij)(ni)=(nj)(nji)

所以,有
g(n)=i=0nj=0ni(1)j(nj)(nji)g(i)

交换求和顺序,
g(n)=j=0ni(1)j(nj)i=0n(nji)g(i)

注意到右边是f()的形式
g(n)=i=0n(1)i(ni)f(ni)

换一下下标
g(n)=i=0n(1)ni(ni)f(i)

这就是二项式反演:

f(n)=ni=0(ni)g(i)
g(n)=ni=0(1)ni(ni)f(i)


斯特林数

第一类斯特林数:
留坑待填
第二类斯特林数:

n个不同的元素拆分成m个集合的方案数

记为 {nm}
递推公式(枚举最后一个元素转移): {nm} = {n1m1} +m* {n1m}
通项公式
注意到 kn=km=0Amk{nm} (n个不同的元素拆分成m个集合的方案数,允许空集)
则有

kn=m=0k(km)m!{nm}

使用二项式反演,则有
m!{nm}=k=0m(1)mk(mk)kn

整理后得到
{nm}=1m!k=0m(1)k(mk)(mk)n


斯特林反演

留坑待填

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值