日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

生成函数全家桶

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生成函数全家桶 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 有用的式子
    • 1.(牛頓二項式定理)
    • 2.
  • 普通生成函數(OGF)
    • 常見封閉形式:
    • 1.
    • 2.
    • 3.
    • 4.
  • 指數生成函數(EGF)
    • 排列與圓排列

有用的式子

1.(牛頓二項式定理)

我們把組合數的定義推廣:
(rk)=rk ̄k!(r∈C,k∈N)\binom{r}{k}=\frac{r^{\underline{k}}}{k!}\space(r\in \mathbf{C},k\in \mathbf{N})(kr?)=k!rk???(rC,kN)
其中 rk ̄r^{\underline{k}}rk? 指下降冪,即 ∏i=0k?1(r?i)\prod_{i=0}^{k-1}(r-i)i=0k?1?(r?i)。(不過大多數時候我們只需要用到實數域的定義)
然后我們就可以對二項式定理進行推廣:
(1+x)r=∑i≥0(ri)xi(r∈C)(1+x)^{r}=\sum_{i\ge0}\binom{r}{i}x^i\space(r\in \mathbf{C})(1+x)r=i0?(ir?)xi?(rC)

2.

對于組合數:
(n+mm)\binom{n+m}{m}(mn+m?)
我們考慮其實際意義,枚舉其與最右側相連的極長連續段長度 iii,那么就有:
(n+mm)=∑i=0m(n+m?i?1m?i)=∑i=0m(n+i?1i)\binom{n+m}{m}=\sum_{i=0}^m\binom{n+m-i-1}{m-i}=\sum_{i=0}^m\binom{n+i-1}{i}(mn+m?)=i=0m?(m?in+m?i?1?)=i=0m?(in+i?1?)
我們常常會用到這個式子的反演。

普通生成函數(OGF)

數列 aaa 的普通生成函數為:
F(x)=∑n=0anxnF(x)=\sum_{n=0}a_nx_nF(x)=n=0?an?xn?
卷積性質:
A(x)?B(x)=∑n=0xn∑i=0naibn?iA(x)*B(x)=\sum_{n=0}x^n\sum_{i=0}^{n}a_ib_{n-i}A(x)?B(x)=n=0?xni=0n?ai?bn?i?

常見封閉形式:

1.

∑n=0xn=11?x\sum_{n=0}x^n=\frac{1}{1-x}n=0?xn=1?x1?
∑n=0kxn=1?xk+11?x\sum_{n=0}^{k}x^n=\frac{1-x^{k+1}}{1-x}n=0k?xn=1?x1?xk+1?
證明:
就是等比求和公式。

2.

∑n=0(n+k?1k?1)xn=1(1?x)k\sum_{n=0}\binom{n+k-1}{k-1}x^n=\frac{1}{(1-x)^k}n=0?(k?1n+k?1?)xn=(1?x)k1?
證明:

  • 數學歸納法:結合式子一大力揉式子。
  • 隔板法:第 nnn 項的系數等同于從 kkk∑n=0xn\sum_{n=0}x^nn=0?xn 中個選出一項,次數后恰好為 nnn 的方案數,那么就轉換為 kkk 個有序非負整數加和為 nnn 的方案數。全加一后隔板即可。
  • 3.

    ∑n=0(nk)xn=xk(1?x)k+1\sum_{n=0}\binom{n}{k}x^{n}=\frac{x^k}{(1-x)^{k+1}}n=0?(kn?)xn=(1?x)k+1xk?
    證明:
    第二個式子,為了方便稍微變下形:
    ∑n=0(n+kk)xn=1(1?x)k+1\sum_{n=0}\binom{n+k}{k}x^n=\frac{1}{(1-x)^{k+1}}n=0?(kn+k?)xn=(1?x)k+11?
    然后兩邊同乘 xkx^kxk
    ∑n=0(n+kk)xn+k=xk(1?x)k+1\sum_{n=0}\binom{n+k}{k}x^{n+k}=\frac{x^k}{(1-x)^{k+1}}n=0?(kn+k?)xn+k=(1?x)k+1xk?
    ∑n=k(nk)xn=xk(1?x)k+1\sum_{n=k}\binom{n}{k}x^{n}=\frac{x^k}{(1-x)^{k+1}}n=k?(kn?)xn=(1?x)k+1xk?
    由于 n<kn<kn<k 是組合數全是0,所以求和可以伸下去,得到:
    ∑n=0(nk)xn=xk(1?x)k+1\sum_{n=0}\binom{n}{k}x^{n}=\frac{x^k}{(1-x)^{k+1}}n=0?(kn?)xn=(1?x)k+1xk?

    4.

    ∑n=0(kn)xn=(1+x)k\sum_{n=0}\binom{k}{n}x^n=(1+x)^kn=0?(nk?)xn=(1+x)k
    證明:
    二項式定理即可。

    指數生成函數(EGF)

    數列 aaa 的指數生成函數為:
    F^(x)=∑i=0ain!xi\hat{F}(x)=\sum_{i=0}\frac{a_i}{n!}x^iF^(x)=i=0?n!ai??xi
    卷積性質:
    A^(x)?B^(x)=∑n=0xn∑i=0n(ni)aibn?i\hat{A}(x)*\hat{B}(x)=\sum_{n=0}x^n\sum_{i=0}^{n}\binom{n}{i}a_ib_{n-i}A^(x)?B^(x)=n=0?xni=0n?(in?)ai?bn?i?

    排列與圓排列

    排列的方案數為 n!n!n!,其 EGF 為:
    P^(x)=∑n!n!xn=11?x\hat{P}(x)=\sum\frac{n!}{n!}x^n=\frac{1}{1-x}P^(x)=n!n!?xn=1?x1?
    類似于組合數的證明,每個圓排列對應 nnn 個排列,方案數為 (n?1)!(n-1)!(n?1)!,其 EGF 為:
    Q^(x)=∑(n?1)!n!xn=∑xnn=?ln?(1?x)=ln?11?x=ln?P^(x)\hat{Q}(x)=\sum\frac{(n-1)!}{n!}x^n=\sum\frac{x^n}{n}=-\ln(1-x)=\ln\frac{1}{1-x}=\ln\hat{P}(x)Q^?(x)=n!(n?1)!?xn=nxn?=?ln(1?x)=ln1?x1?=lnP^(x)
    ∑xnn=?ln?(1?x)\sum\dfrac{x^n}{n}=-\ln(1-x)nxn?=?ln(1?x) 可通過對兩邊求導再積分證明)
    這個關系可以這么理解:每個排列可以形成若干個置換環,每個置換環都是一個圓排列問題。
    所以 當一個問題 FFF 可以轉化為按照任意方法分成若干集合,每種劃分的貢獻是每個集合 GGG 問題的方案累乘起來時,它們的 EGF 就有如下等量關系:
    F^(x)=exp?(G^(x))\hat{F}(x)=\exp(\hat{G}(x))F^(x)=exp(G^(x))

    總結

    以上是生活随笔為你收集整理的生成函数全家桶的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。