反演魔术(留坑)
反演魔术
参考文章:
反演本质:两个函数双向(求和)关系
差分和前缀和本质就是反演
反演可以由矩阵来寻找关系,定义一个关系矩阵
\(F[n]=\sum\limits_{i=0}^nG[i]~~~~G[n]=F[n]-F[n-1]\)
定义矩阵\(A\)为关系矩阵,\(F[n]=\sum\limits_{i=0}^∞A_{n,i}G[i]\)
前缀和关系矩阵\(A_{i,j}=[j\le i]\),差分关系矩阵\(B_{i,j}=-1(j=i-1)||1(j=i)\)
易知\(A*B\)为单位矩阵,反演关系矩阵互逆
反演方法: 矩阵转置之后仍然互逆
\(\sum\limits_{t=0}(-1)^{n-t}A_{n,t}B_{t,m}=[n=m]⟺\sum\limits_{t=0}(-1)^{t-m}A_{n,t}B_{t,m}=[n=m]\)
欧拉反演
本来没有欧拉反演这个名字的,只不过大家习惯性称之为欧拉反演
所谓欧拉反演其实就是利用欧拉函数的一条性质
\(\begin{aligned}n=\sum_{d|n}\varphi(d)\end{aligned}\)
我们试着把 \(n\)换成其他东西试试
\(\begin{aligned}gcd(i,j)=\sum_{d|gcd(i,j)}\varphi(d)=\sum_{d|i}\sum_{d|j}\varphi(d)\end{aligned}\)
让我们求个东西试试
\(\begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{i=1}^n\sum_{d|i}\sum_{d|n}\varphi(d)=\sum_{d|n}\sum_{i=1}^n\sum_{d|i}\varphi(d)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned}\) 把它重写一遍作为结论
\(\begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned}\)
二项式反演
通过“指定某若干个”求"恰好若干个"问题
类似多步容斥\(|A_1∪A_2...∪A_n|=\sum_{1\le i\le n}|A_i|-\sum_{1\le i<j\le n}|A_i∩A_j|+...(-1)^{n-1}|A_1∩A_2...∩A_n|\)
反演形式零:
\(f(n)=\sum\limits_{i=0}^n(-1)^i{n\choose i}g(i)\)⇔ \(g(n)=\sum\limits_{i=0}^n(-1)^i{n\choose i}f(i)\)
形式一:
令\(h(n)=(-1)^ng(n)\)
得
也可以根据组合意义来想\({n\choose i}{i\choose j}\) 是\(n\)个里选\(i\)个,\(i\)选\(j\)个
反过来想,从\(n\)个里选\(j\)个,再从剩下的选\(i-j\)个\({n\choose j}{{n-j}\choose{i-j}}\)
形式二:
最常用公式
可以用基本反演方法推,略了
错排问题:\(a_i\not=i\)的排列方案数
令\(D[n]=\)长度为\(n\)错排数
假如有\(k\)个不在自己的位置上,那我们任意选定\(k\)个位置,然后将它们严格错排,剩下不动,即可不重不漏。
\(n!=\sum\limits_{i=0}^n{n\choose i}D[i]\)
反演公式一可得\(\large D[n]=n!\sum\limits_{i=0}^n\frac{(-1)^i}{i!}\) 这就是错排公式\(qwq\)