zoukankan      html  css  js  c++  java
  • 二项式反演的推导

    回来做个题发现二项式反演长什么样又忘记了。

    记录一下在忘记二项式反演长什么样时如何推导(我怕是这辈子都想不到?)

    二项式反演

    有一个优(hao)美(bei)的公式:

    [f_n = sum_{i = 0} ^ n (-1)^i dbinom{n}{i} g_i Leftrightarrow g_n = sum_{i = 0} ^ n (-1)^i dbinom{n}{i} f_i ]

    还有一个实(nan)用(bei)的公式:

    [f_n = sum_{i = 0} ^ n dbinom{n}{i} g_i Leftrightarrow g_n = sum_{i = 0} ^ n (-1) ^ {n - i} dbinom{n}{i} f_i ]

    下面推导第一个:

    因为忘了第一个长什么样,所有我们假设$$g_{n} = sum_{i = 0} ^ n t_{n,i} f_{i}$$

    带入等式右边:

    [egin{split} f_{n} &= sum_{i = 0} ^ n (-1) ^ i dbinom{n}{i} sum_{j = 0} ^ {i} t_{i,j} f_j \ &= sum_{i = 0} ^nf_i (sum_{j = i} ^ n (-1) ^j dbinom{n}{j} t_{j,i}) \ &= sum_{i = 0} ^ n f_i ( sum_{j = 0} ^ {n - i} (-1)^{j + i} dbinom{n}{j + i} t_{j + i, i} ) end{split} ]

    我们要构造一个 $ t_{j,i} $ 满足 $$ [i = n] = sum_{j = 0} ^ {n - i} (-1)^{j + i} dbinom{n}{j + i} t_{j + i, i} $$

    考虑用这个式子来代掉左边:$$ [n = 0] = sum_{i = 0} ^ n (-1) ^ i dbinom{n}{i} $$

    因此$$ [i = n] = sum_{j = 0} ^ {n - i} (-1) ^ j dbinom{n - i}{j}$$

    $ t_{j + i, i}$ 里面应该有一个组合数的形式,但是下面这个式子里面只有一个组合数,那么我们尝试配上一个。

    [[i = n] = sum_{j = 0} ^ {n - i} (-1) ^ j dbinom{n - i}{j} dbinom{n}{i} ]

    而这个可以处理成:

    [[i = n] = sum_{j = 0} ^ {n - i} (-1) ^ j dbinom{j + i}{i} dbinom{n}{j + i} ]

    比对一下就可以得到 $$ t_{i,j} = (-1)^j dbinom{i}{j} $$

    其它的样子

    有一个优(hao)美(bei)的公式:

    [f_k = sum_{i = k} ^ n (-1) ^ i dbinom{i}{k} g_i Leftrightarrow g_k = sum_{i = k} ^ n (-1) ^ i dbinom{i}{k} f_i ]

    还有一个实(nan)用(bei)的公式:

    [f_{k} = sum_{i = k} ^ {n} dbinom{i}{k} g_{i} Leftrightarrow g_{k} = sum_{i = k} ^ n (-1) ^ {i - k} dbinom{i}{k} f_i ]

    其它的理解

    cly_none 告诉了一种奇妙的理解。

    考虑 $$ f_{n} = sum_{i = 0} ^ n dbinom{n}{i} g_i$$ 这个式子,可以改写成:

    [frac{f_{n}}{n!} = sum_{i=0} ^ n frac{g_i}{i!} frac{1}{(n-i)!} ]

    在指数生成函数下就有 $$ f(x) = g(x) * e^x $$

    那么$$ g(x) = f(x) * e^{-x} $$ ,直接展开回来就完成了二项式反演。

  • 相关阅读:
    mybatis中#{}与${}的差别(如何防止sql注入)
    使用Eclipse打开已有工程
    IntelliJ IDEA添加jar包
    【转】mysql 中int类型字段unsigned和signed的区别
    【转】MySQL int转换成varchar引发的慢查询
    数字类型转换函数
    【转】MySQL datetime数据类型设置当前时间为默认值
    【转】拍拍网2015年mysql最新开发规范
    【转】赶集网mysql开发36军规
    【转】再议数据库军规
  • 原文地址:https://www.cnblogs.com/Vexoben/p/11728562.html
Copyright © 2011-2022 走看看