常见反演技巧

Posted solemntee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见反演技巧相关的知识,希望对你有一定的参考价值。

反演

定义

假设有两个函数 f f f g g g满足
f ( n ) = ∑ 某 种 规 则 a n , i g ( i ) f(n)=\\sum_某种规则 a_n,ig(i) f(n)=an,ig(i)
已知 f f f g g g的过程就称为反演

首先,在线性代数里面我们已经学过一般加法的形式,对于 A X = Y AX=Y AX=Y可以容易的 O ( N 3 ) O(N^3) O(N3)求出 X = A − 1 Y X=A^-1Y X=A1Y,那么上面式子里的 a n , i a_n,i an,i就简单的等于某行之和。

二项式反演

f ( n ) = ∑ i = 0 n ( n i ) g ( i ) f(n)=\\sum_i=0^n\\tbinomnig(i) f(n)=i=0n(in)g(i),则 g ( n ) = ∑ i = 0 n ( − 1 ) n − i ( n i ) f ( i ) g(n)=\\sum_i=0^n(-1)^n-i\\tbinomnif(i) g(n)=i=0n(1)ni(in)f(i)

证:

首先知道 ∑ i = 0 n ( − 1 ) i ( n i ) = [ i = n ] \\sum_i=0^n(-1)^i \\tbinomni=[i=n] i=0n(1)i(in)=[i=n]
g ( n ) = ∑ i = 0 n [ i − n = 0 ] ( n i ) g ( i ) = ∑ i = 0 n ∑ j = 0 n − i ( − 1 ) j ( n j ) ( n − j i ) g ( i ) = ∑ i = 0 n ∑ j = 0 n − i ( − 1 ) j ( n j ) ( n − j i ) g ( i ) = ∑ j = 0 n ( − 1 ) j ( n j ) ∑ i = 0 n − j ( n − j i ) g ( i ) = ∑ j = 0 n ( − 1 ) j ( n j ) f ( n − j ) = ∑ j = 0 n ( − 1 ) n − j ( n j ) f ( j ) g(n)=\\sum_i=0^n[i-n=0]\\tbinomnig(i)\\\\=\\sum_i=0^n\\sum _j=0^n-i(-1)^j\\tbinomnj\\tbinomn-jig(i)\\\\=\\sum_i=0^n\\sum _j=0^n-i(-1)^j\\tbinomnj\\tbinomn-jig(i)\\\\=\\sum_j=0^n(-1)^j\\tbinomnj\\sum _i=0^n-j\\tbinomn-jig(i)\\\\=\\sum_j=0^n(-1)^j\\tbinomnjf(n-j)\\\\=\\sum_j=0^n(-1)^n-j\\tbinomnjf(j) g(n)=i=0n[in=0](in)g(i)=i=0nj=0ni(1)j(jn)(inj)g(i)=i=0nj=0ni(1)j(jn)(inj)g(i)=j=0n(1)j(jn)i=0nj(inj)g(i)=j=0n(1)j(jn)f(nj)=j=0n(1)nj(jn)f(j)
其中第三步主要通过交换求和符号构造 ∑ i = 0 n ( n i ) g ( i ) = f ( n ) \\sum_i=0^n\\tbinomnig(i)=f(n) i=0n(in)g(i)=f(n)的形式从而得到 f ( n ) f(n) f(n)

莫比乌斯反演

f ( n ) = ∑ i ∣ n g ( i ) f(n)=\\sum_i|ng(i) f(n)=ing(i),则 g ( n ) = ∑ i ∣ n μ ( i ) f ( n i ) g(n)=\\sum_i|n\\mu(i)f(\\frac ni) g(n)=inμ(i)f(in),其中 μ ( i ) \\mu(i)

以上是关于常见反演技巧的主要内容,如果未能解决你的问题,请参考以下文章

常见反演技巧

常见反演技巧

「总结」容斥。二.反演原理

51nod1238. 最小公倍数之和 V3(莫比乌斯反演)

莫比乌斯反演 and 杜教筛总结

uoj#62 怎样跑的更快 (莫比乌斯反演)