莫比乌斯反演入门
转载自----- http://blog.csdn.net/qw4990/article/details/14055183 这个文章主要讲一下ACM中1个常用的莫比乌斯反演公式,看到很多博客上面公式是有,但是都没证明,《组合数学》上的证明又没看懂, 就自己想了种证明方法,觉得比《组合数学》的证明简单些,就写一下,希望对初学莫比乌斯反演的同学有帮助。 PS:下面公式出现的sigma是累加,另外建议大家看的时候 把公式在纸上写出来! 一:什么是莫比乌斯反演 简单点的说,就是先给出一个函数 F(n) ,然后再由 F(n)定义一个新函数 G(n) 其中 G(n) = sigma(F(d)) (其中d被“包含”于n) 然后 现在我们不知道 F(n)的值 , 却知道 G(n), 接着我们就可以通过 反演由G(n)反向得到F(n) 什么叫 (其中d被“包含”于n) ?以及怎么理解反演? 通过下面的几个例子说明 例1: 我们直接定义 G(n)=sigma(F(i)) (1<=i<=n) {这里的每个F(i),相对于G(n)实际上就是一种包含关系了!!} 然后我们现在已经知道 G(n)=n*(n+1)/2; 接下来 我们要通过 G(n)反向得到F(n) 的过程,就是反演 当然,这个问题很简单,很容易都可以看出来 F(n)=n ~~ ----------------------------