二项式定理&反演证明&bzoj2839集合计数题解
Posted remarkable
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二项式定理&反演证明&bzoj2839集合计数题解相关的知识,希望对你有一定的参考价值。
话说好久没写博客了~~
不久前一道考试题暴露了数学渣渣的本质:
斯特林反演(不会)-> 善用搜索引擎 -> 容斥系数&原理(不会)-> 善用搜索引擎 -> 二项式反演(不会)->
善用搜索引擎 -> 二项式定理(不会)-> 善用搜索引擎 -> 杨辉三角(打个表找规律终于会了)
今天由一道数学题,想骗个分结果exgcd不会写……
最近有时间一定恶补数学。
二项式定理
$(a+b)^n=\\sum\\limits_i=0^nC_n^ia^ib^n-i$
证明:
n=1时显然成立
我们设n=m时二项式定理成立
那么只需证明n=m+1时成立,我们就可以推得n=2,3,……,+∞时二项式定理成立,即证明出了二项式定理对于一切正整数都成立,即证明了二项式定理。
n=m时二项式定理成立,则$(a+b)^m=\\sum\\limits_i=0^mC_m^ia^ib^m-i$
那么有:\\beginarraylcl(a+b)^m+1 & = & a(a+b)^m+b(a+b)^m \\\\& = & a \\sum \\limits_i=0^m C_m^ia^ib^m-i+b \\sum \\limits_j=0^nC_m^ja^jb^m-j \\\\& = & \\sum\\limits_i=0^nC_m^ia^i+1b^m-i+\\sum\\limits_j=0^nC_m^ja^jb^m-j+1 \\\\ & = & a^m+1+\\sum\\limits_i=0^m-1C_m^ia^i+1b^m-i+b^m+1+\\sum\\limits_j=1^nC_m^ja^jb^m-j+1 \\\\ & = & a^m+1+\\sum\\limits_j=1^nC_m^j-1a^jb^m-j+1+b^m+1+\\sum\\limits_j=1^nC_m^ja^jb^m-j+1 (用j表示i)\\\\ & = & a^m+1+\\sum\\limits_j=1^m(C_m^j-1+C_m^j)a^jb^m-j+1+b^m+1 \\\\ & = & a^m+1+\\sum\\limits_j=1^nC_m+1^ja^jb^m-j+1+b^m+1 \\\\ & = & \\sum\\limits_j=0^m+1C_m+1^ja^jb^m-j+1\\endarray
得证。
至于杨辉三角和二项式定理有什么关系……
自己打个表找个规律不就行了
杨辉三角第n行的数对应$(a+b)^n$的各项系数
杨辉三角还有不少神奇性质,不再一一列举
二项式反演
基本形式有一种对称美: $f_n=\\sum\\limits_i=0^n(-1)^iC_n^ig_i \\Leftrightarrow g_n=\\sum\\limits_i=0^n(-1)^iC_n^if_i$
常见形式为$f_n=\\sum\\limits_i=0^nC_n^ig_i \\Leftrightarrow g_n=\\sum\\limits_i=0^n(-1)^n-iC_n^if_i$
还有一个是$f_k=\\sum\\limits_i=k^nC_i^kg_i \\Leftrightarrow g_k=\\sum\\limits_i=k^n(-1)^i-kC_i^kf_i$
我们来证明第一个常见形式。
我们已知$f_n=\\sum\\limits_i=0^nC_n^ig_i$
那么\\beginarraylcl\\sum\\limits_i=0^n(-1)^n-iC_n^if_i & = & \\sum\\limits_i=0^n(-1)^n-iC_n^i\\sum\\limits_j=0^iC_i^jg_j \\\\& = & \\sum\\limits_i=0^n\\sum\\limits_j=0^i(-1)^n-iC_n^iC_i^jg_j \\\\ & = &\\sum\\limits_i=0^n\\sum\\limits_j=0^i(-1)^n-iC_n^jC_n-j^i-jg_j \\endarray
对于$\\sum\\limits_i=0^n\\sum\\limits_j=0^i$来说,其代表$i\\in[0,n],j\\leq i$的所有情况
事实上其等价于$j\\in[0,n],i\\ge j$的所有情况(感性理解吧,我也不知道怎么说才更清楚)
那么 $ 原式 = \\sum\\limits_j=0^n\\sum\\limits_i=j^n(-1)^n-iC_n^jC_n-j^i-jg_j $
显然对于j=n时$\\sum\\limits_i=j^n(-1)^n-iC_n^jC_n-j^i-jg_j$的值为$g_n$
对于j!=n时,我们考虑g_j的系数$ \\sum\\limits_i=j^n(-1)^n-iC_n^jC_n-j^i-j$
首先对于一个固定的j来说$C_n^j$就是一个常数,我们将其删去,$g_j$的系数变为$ \\sum\\limits_i=j^n(-1)^n-iC_n-j^i-j$
显然n-j也是个常数,我们设m=n-j
然后我们再将i变为[0,m],可以理解为向左平移
那么系数变为$\\sum\\limits_i=0^m(-1)^m-iC_m^i$
有没有觉得很眼熟?
考虑二项式定理$(a+b)^n=\\sum\\limits_i=0^nC_n^ia^ib^n-i$,我们令a=1,b=-1,n=m,有$0=\\sum\\limits_i=0^mC_m^i(-1)^m-i$,而这个式子就是$g_j$的系数
于是对于所有j!=n的情况,$g_i$的系数都为0,只有j=n时$g_i$的系数和为1
那么$\\sum\\limits_j=0^n\\sum\\limits_i=j^n(-1)^n-iC_n^jC_n-j^i-jg_j = g_n $
即$\\sum\\limits_i=0^n(-1)^n-iC_n^if_i=g_n$,得证。
应用主要有恰好与至多,恰好与至少的转换。
一类很典型的问题叫错排问题,可以用二项式反演解决。
(不过二项式反演能做的一般直接用容斥+感性理解也能怼出来)
例题:bzoj2839 集合计数
设$f_i$表示交集元素至少为i的方案数,$g_i$表示交集元素恰好为i的方案数(有坑,请读者留意)
对于$f_i$,我们考虑先从n个元素中选出i个必选的,共有$C_n^i$种方案,然后还剩下n-i种元素可以组成$2^n-i$个集合
(含空集,在确定集合后每个集合在加上钦定的i个元素才构成最终的集合)
对于这些集合,我们可以选也可以不选,但由题意可知不能都不选(至少选一个),于是有$2^2^n-i-1$种方案
那么有$f_i=C_n^i(2^2^n-i-1)$
完了吗?
如果$f_i$的定义就是交集元素至少为i的方案数,那么这么算是错误的,因为这样会把一种情况重复计算多次。
(网上其他这么说的题解都是错的,我不知道是抄的还是真理解错了,害得我懵了好久)
(也可能是我这个蒟蒻理解错了,如果有大佬能指出的话,万分感谢&顶礼%bai)
举个例子,n=3,我们求出$f_i=9$,但事实上$f_i=7$,因为A,B,C这个集合被计算了3次。
实际上$f_i$真正的含义是所有交集为固定i个数的方案数的总和。
那么对于$f_i$和$g_i$,显然有$f_i=\\sum\\limits_j=i^nC_j^ig_j$,因为$g_j$的每一种方案交集中的j个数都对应$f_i$中的$C_j^i$种钦定方案。
那么由二项式反演的第二个常用形式可以推得$g_i=\\sum\\limits_j=i^n(-1)^j-iC_j^if_j$
可以$\\Theta(N)$计算出来了。
当然本题用容斥也可以解决。(巨神skyh的题解)
代码就不放了,请自己思考(其实博主是用容斥写的)
完结撒花= =
以上是关于二项式定理&反演证明&bzoj2839集合计数题解的主要内容,如果未能解决你的问题,请参考以下文章