zoukankan      html  css  js  c++  java
  • 生成函数的背包计数问题

    鏼爷的冬令营课件

    核猩公式

    [ln (1+x)=x-frac{1}{2}x^2+frac{1}{3}x^3-frac{1}{4}x^4+... ]

    版本1

    [egin{aligned} prod_{i=1}^{n}(1+x^i+x^{2i}+...)^{a_i}=&prod_{i=1}^{n}(frac{1}{1-x^i})^{a_i}\ =&exp(sum_{i=1}^{n}-a_iln(1-x^i))\ =&exp(sum_{i=1}^{n}a_isum_{j=1}^{+infty}frac{x^{ij}}{j}) (其实感觉推到这步就能做了的说)\ =&exp(sum_{j=1}^{+infty}frac{1}{j}sum_{i=1}^{n}a_ix^{ij})\ =&exp(sum_{j=1}^{+infty}frac{1}{j}A(x^j)) end{aligned} ]

    可以(A(x))有用的项一共只有(sum_{i=1}^{n}lfloorfrac{n}{i} floor=O(n log n))项。

    版本2

    [egin{aligned} prod_{i=1}^{n}(1+x^i)^{a_i}=&exp(sum_{i=1}^{n}a_iln(1+x^i))\ =&exp(sum_{i=1}^{n}a_isum_{j=1}^{+infty}(-1)^{j+1}frac{x^{ij}}{j})\ =&exp(sum_{j=1}^{+infty}frac{(-1)^{j+1}}{j}sum_{i=1}^{n}a_ix^{ij})\ =&exp(sum_{j=1}^{+infty}frac{(-1)^{j+1}}{j}A(x^j)) end{aligned} ]

    版本3

    [egin{aligned} prod_{i=1}^{n}(1+x^i+x^{2i}+...+x^{a_ii})=&prod_{i=1}^{n}frac{1-x^{a_ii}}{1-x^i}\ =&exp(sum_{i=1}^{n}(ln(1-x^{a_ii})-ln(1-x^i)))\ =&exp(sum_{i=1}^{n}(sum_{j=1}^{+infty}frac{x^{ij}}{j})-(sum_{j=1}^{+infty}frac{x^{a_iij}}{j})) end{aligned} ]

  • 相关阅读:
    git 常用命令
    目录
    算法--双栈排序
    算法--栈的翻转练习题
    算法--双栈队列
    算法--可查询最值的栈练习题
    Spark算子--union、intersection、subtract
    Spark算子--take、top、takeOrdered
    Spark算子--countByKey
    Spark算子--SortBy
  • 原文地址:https://www.cnblogs.com/ErkkiErkko/p/10838697.html
Copyright © 2011-2022 走看看