生成函数

多项式

称以下函数 \(f(x)\) 为关于 \(x\) 的多项式:\(f(x)=\sum_{i=0}^{n}a_ix^i\),其中 \(a_i\) 可以是任意系数

多项式的次数为次数最高次向的次数,多项式 \(f(x)=0\) 的次数为 \(-\infty\)

多项式对于加法、减法、乘法、求导、不定积分都是封闭的。

多项式这里都是简单的,初二应该都会

多项式求导

\(f(x)\) 函数求导则写成 \(f'(x)\) ,这里我们只介绍求导的一点点小性质(这些性质我只会推一点点,大家还是记下来吧😭

  1. \((x^n)'=n\times x^{n-1}\)
  2. \((af(x))'=a(f(x))'\)
  3. \((f(x)+g(x))'=f'(x)+g'(x)\)
  4. \((f(x)-g(x))'=f'(x)-g'(x)\)
  5. \((f(x)g(x))'=f'(x)g(x)+f(x)g'(x)\)
  6. \((\frac{f(x)}{g(x)})'=\frac{f'(x)g(x)-g'(x)f(x)}{g^2(x)}\)
  7. \((f(g(x)))'=f'(g(x))g'(x)\)

OGF

介绍

生成函数是对于一个数列构造的形式幂级数。听着挺抽象的,不如举个例子:

对于一个数列 \(\{a_n \}\) ,他对应的生成函数是 \(G(x)=\sum_{i=0}^{+\infty}a_ix^i\)

  1. \(1,1,1,1,1,...\) 所对应的生成函数是 \(G(x)=\sum_{i=0}^{+\infty}x^i=\frac{1}{1-x},x\in(-1,1)\)

    假设 \(S=\sum_{i=0}^{+\infty}x^i\) 那么 \(x\times S=\sum_{i=1}^{+\infty}x^i=S-x^0=S-1\),移项得 \(S=\frac{1}{1-x}\)

  2. \(1,2,4,8,16,...\) 所对应的生成函数是 \(G(x)=\sum_{i=0}^{+\infty}2^ix^i=\sum_{i=0}^{+\infty}(2x)^i=\frac{1}{1-2x},x\in(-\frac{1}{2},\frac{1}{2})\)

  3. \(\binom{n}{0},\binom{n}{1},\binom{n}{2},\binom{n}{3},...\) 可以写成 \(\sum_{i=0}^{n}\binom{n}{i}x^i1^{n-i}=(1+x)^n\)

    这里用到了二项式定理,我们来说一下二项式定理是啥(这个是常见的,大家可以记下来):\((x+y)^n=\sum_{i=0}^{n}\binom{n}{i}x^iy^{n-i}\)

性质

这里假设数列 \(\{a\} \{b\} \{c\}\) 对应的生成函数分别是 \(A(x),B(x),C(x)\)

  1. \(b_n=ka_n\) ,则 \(B(x)=kA(x)\) ,对于任意 \(k\) 符合(这里易证

  2. \(c_n=a_n+b_n\) ,则 \(C(x)=A(x)+B(x)\)

  3. \(c_n=\sum_{i=0}^{n}a_i\times b_{n-i}\) ,则 \(C(x)=A(x)\times B(x)\)

  4. \(b_n=\sum_{i=0}^{n}a_i\) ,则 \(B(x)=\frac{A(x)}{1-x}\)

    这里需要小小的证明一下,假设有一个数列 \(\{d\}\),所对应的生成函数为 \(D(x)=\sum_{i=0}^{n}x^i\) ,也就是每一位都是 \(1\) ,我们可以发现 \(A(x)\times D(x)=B(x)\) ,由上文可得 \(D(x)=\frac{1}{1-x}\) ,因此 \(B(x)=\frac{A(x)}{1-x}\)

  5. \(b_n=na_n\) ,则 \(B(x)=xA'(x)\)

    我们把 \(x^n\) 求导之后变成了 \(n\times x^{n-1}\) ,再乘上 \(x\) 可得 \(nx^n\) (完全不严谨,感性理解)

  6. \(b_n=\frac{a_n}{n+1}\) ,则 \(B(x)=\frac{\int A(x)\text{dx}}{x}\)

    \(\frac{x^n}{n+1}\) 逆导之后可以发现是 \(x^{n+1}\) ,再除以 \(x\) ,则原式变成 \(x^n\)

生成函数还原原来的序列

因为生成函数是由数列构造成的,所以我们可以通过生成函数来还原原来的序列。

设当前的生成函数为 \(f(x)\) ,对应的数列为 \(\{a_n\}\) ,我们可以通过他 \(x^n\) 的系数来的到 \(a_n\) 的值,记作 \([x^n]f(x)\)

  1. \([x^3]\frac{1}{1-x}=1\)

  2. \([x^5]\frac{1}{1-2x}=2^5\) 我们可以观察规律得到 \([x^n]\frac{1}{1-ax}=a^n\)

  3. \([x^n]\frac{1}{1-3x+2x^2}\) \(\frac{1}{1-3x+2x^2}=\frac{1}{(1-x)(1-2x)}=\frac{A}{1-x}+\frac{B}{1-2x}=\frac{A\times (1-2x)+B\times (1-x)}{(1=x)(1-2x)}\)

    所以 \(A\times (1-2x)+B\times (1-x)=1\) ,可以解出 \(A=-1,B=2\)

    \([x^n]\frac{1}{(1-x)(1-2x)}=[x^n](\frac{-1}{1-x}+\frac{2}{1-2x})=-1\times 1 +2\times 2^n=-1+2^{n+1}\)

  4. \([x^n]\frac{1}{(1-x)^k}\)

    \([x^n]\frac{1}{(1-x)^k}=[x^n](1+x+x^2+x^3+...)^k\)

    \(=[x^n](1+x+x^2+...)(1+x+x^2+...)(1+x+x^2+...)(1+x+x^2+...)....\) (总计 \(k\) 个)

    他的组合意义为选 \(k\) 个非负整数 \(a1,a2,a3,...,ak\) ,使得 \(\sum_{i=0}^{k}a_i=n\) 的方案数,由插板法可得,该方案数为 \(\binom{n+k-1}{k-1}\)

    \([x^n]\frac{1}{(1-x)^k}=\binom{n+k-1}{k-1}\)

小练习

A

求多重集 \(\{1,1,1,1,2,3,3,3\}\) 中不同的 \(4\) 元多重集合的个数

考虑每种数选了多少个,\(x^n\) 表示当前数选了 \(n\) 个,

那么答案就是 \([x^4](1+x+x^2+x^3+x^4)(1+x)(1+x+x^2+x^3)\)

B

有一个果篮,里面有苹果、香蕉、橙子、梨四种水果,总共有 \(n\) 个,其中苹果的个数为偶数,香蕉的数量不超过 \(4\) 个,橙子的数量是 \(5\) 的倍数,梨的数量不超过 \(1\) 个。求果篮里各种水果的书目的方案数

答案即为 \([x^n](1+x^2+x^4+...)(1+x+x^2+x^3+x^4)(1+x^5+x^{10}+...)(1+x)\)

\(=[x^n]\frac{(1+x+x^2+x^3+x^4)(1+x)}{(1-x^2)(1-x^5)}=[x^n]\frac{(1+x+x^2+x^3+x^4)(1+x)}{(1-x)(1+x)(1-x)(1+x+x^2+x^3+x^4)}\)

\(=[x^n]\frac{1}{(1-x)^2}=n+1\) (最后一步可以从上面的 \(OGF\)\(4\) 证得)

EGF

介绍

对于一个序列 \(\{a\}\) ,定义他的指数生成函数(\(EGF\))为 \(f(x)=\sum_{i=0}^{+\infty}\frac{a_n}{n!}x^n\)

对于一个指数生成函数,将它还原成原数列可以将每项系数乘以 \(n!\) ,记作 \(a_n=[\frac{x^n}{n!}]f(x)\)

  1. \(1,1,1,1,...\)\(EGF\)\(f(x)=\sum_{n=0}^{+\infty}\frac{x^n}{n!}=e^x\) ,因为将 \(e^x\) 处泰勒展开就得到了他的无穷级数形式(泰勒展开不会,所以咕咕咕。)
  2. \(1,2,4,8,16,32,...\)\(EGF\)\(f(x)=\sum_{n=0}^{+\infty}\frac{2^nx^n}{n!}=\sum_{n=0}^{+\infty}\frac{(2x)^n}{n!}=e^{2x}\)
  3. \(0,1,2,3,4,5,...\)\(EGF\)\(f(x)=\sum_{n=0}^{+\infty} \frac{nx^n}{n!}=\sum_{n=1}^{+\infty} \frac{x^n}{(n-1)!}=\sum_{n=0}^{+\infty}\frac{x^{n+1}}{n!}=xe^x\) (这里还没懂)
  4. \(1,\frac{1}{2},\frac{1}{3},\frac{1}{4},...\)\(EDF\)\(f(x)=\sum_{n=0}^{+\infty}\frac{x^n}{(n+1)\times n!}=\sum_{n=0}^{+\infty}\frac{x^n}{(n+1)!}=\frac{e^x-1}{x}\)
posted @ 2023-08-01 20:21  taozhiming  阅读(27)  评论(0编辑  收藏  举报