生成函數初探

對給定序列\(\{a_{0,1,2,\cdots}\}\) 構造一個函數\(F(x)=\sum_{i=0,1,2,\cdots}a_if_i(x)\),稱\(F(x)\)為序列\(\{a_{0,1,2,\cdots}\}\)的生成函數。其中,序列\(\{f_{0,1,2,\cdots}(x)\}?\)只作為標志用,稱為標志函數。

普通型生成函數(OGF)

當標志函數為\(\{x^{0,1,2,\cdots}\}\)時,即生成函數為\(F(x)=\sum_{i=0}^{+\infty}a_ix^i\),稱這類生成函數為普通型生成函數,可記作\(G(x)\)

卷積

OGF: \(F(x),G(x)\) 的卷積\(F(x)*G(x)=\sum_{i=0}^{+\infty} (\sum_{j=0}^i a[j]*b[i-j]) x^i?\)

定理

設從\(n\)元集合\(S=\{a_{1,2,\cdots,n}\}\)中取\(1,2,\cdots\)個元素組合,若限定元素\(a_i\)出現次數的集合為\(M_i\ (1\le i\le n)\),則該組合數序列的生成函數為:
\[ \prod_{i=1}^n(\sum_{x\in M_i}x^m) \]

常用到的普通型生成函數有:
\[ \begin{aligned} &\frac{1}{1-x}&&=1+x+x^2+x^3+\cdots\\ &(\frac{1}{1-x})^2&&=1+2x+3x^2+4x^3+\cdots\\ &(\frac{1}{1-x})^n &&=1+nx+\frac{n(n+1)}{2!}x^2+\frac{n(n+1)(n+2)}{3!}x^3+\cdots \end{aligned} \]

例題

\(n\)位十進制正數中出現偶數個\(5?\)的數的個數。

\(a_i\)表示\(i\)位十進制正數中出現偶數個\(5\)的數的個數,\(b_i\)表示\(i\)位十進制正數中出現奇數個\(5\)的數的個數,不難得出:
\[ \left. \begin{aligned} a_n&=9a_{n-1}+b_{n-1}\\ b_n&=9b_{n-1}+a_{n-1}\\ a_1&=8\\ b_1&=1 \end{aligned} \right\}(0) \Rightarrow \left. \begin{aligned} a_n-9a_{n-1}-b_{n-1}=0\\ b_n-9b_{n-1}+a_{n-1}=0\\ \end{aligned} \right\} \]
設序列\(\{a_n\}\)\(\{b_n\}\)的生成函數分別為:
\[ \begin{align} A(x)&=a_1+a_2x+a_3x^2+\cdots &&(1)\\ B(x)&=b_1+b_2x+b_3x^2+\cdots &&(2) \end{align} \]
\(-9x*(1)-x*(2)+(1)\)得:
\[ (1-9x)A(x)-xB(x)=a_1=8\qquad(3) \]
再由\(-x*(1)-9x*(2)+(2)\)得:
\[ (1-9x)B(x)-xA(x)=b_1=1\qquad(4) \]
\((3)\)\((4)\)可得:
\[ \left. \begin{aligned} A(x)&=\frac{-71x+8}{(1-8x)(1-10x)}\\ B(x)&=\frac{1-x}{(1-8x)(1-10x)} \end{aligned} \right\} \]
更進一步的,
\[ \begin{aligned} A(x)=\frac{7/2}{1-8x}+\frac{9/2}{1-10x}=\frac{1}{2}*(7*\sum_{n=0}^{+\infty}(8x)^n+9*\sum_{n=0}^{+\infty}(10x)^n) \end{aligned} \]
即:
\[ a_x=\frac{7}{2}*8^{x-1}+\frac{9}{2}*10^{x-1} \]

指數型生成函數(EGF)

當標志函數為\(\{\dfrac{x^i}{i!}\ |\ i=0,1,2,\cdots\}\)時,即生成函數為\(F(x)=\sum_{i=0}^{+\infty} a_i(\dfrac{x^i}{i!})\),稱此類生成函數為指數型生成函數,可記作\(G_e(x)\)

卷積

EGF: \(F(x),G(x)\) 的卷積\(F(x)*G(x)=\sum_{i=0}^{+\infty} (\sum_{j=0}^i \begin{pmatrix}i\\j\end{pmatrix} a[j]*b[i-j]) \dfrac{x^i}{i!}\)

定理

從多重集\(M=\{\infty*a_1,\infty*a_2,\infty*a_3,\cdots,\infty*a_n\}\)中選區\(1,2,3,\cdots\)個元素排列,若元素\(a_i\)出現的次數集合為\(M_i\ (1\le i\le n)\),則該排列數序列的生成函數為:
\[ \prod_{i=1}^n(\sum_{m\in M_i}\dfrac{x^m}{m!}) \]
所謂多重集(multiset)之于集合(set),英文寫出來差不多就懂了。函數\(\dfrac{x^m}{m!}\)中,除以\(m!\)是因為排列中這\(m\)個相同元素的先后是不考慮的。

常見的指數型生成函數(\(e^x\)的Tylor展開式):
\[ \begin{aligned} &e^x &&=\sum_{n=0}^{+\infty}\frac{x^n}{n!} &&=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots \\ &e^{kx}\ (k\not=0)&&=\sum_{n=0}^{+\infty}\frac{(kx)^n}{n!} &&=1+kx+\frac{(kx)^2}{2!}+\frac{(kx)^3}{3!}+\cdots \\ &(e^x+e^{-x})/2 &&=\sum_{n=0}^{+\infty}\frac{x^{2n}}{(2n)!} &&=1+\frac{x^2}{2!}+\frac{x^4}{4!}+\frac{x^6}{6!}\cdots \\ &(e^x-e^{-x})/2 &&=\sum_{n=0}^{+\infty}\frac{x^{2n+1}}{(2n+1)!} &&=x+\frac{x^3}{3!}+\frac{x^5}{5!}+\frac{x^7}{7!}\cdots \end{aligned} \]

例題

求由\(1,3,5,7,9\)\(5\)個數字組成的\(n\)位數字的個數(每個數字出現次數可以為\(0\),且\(3,7\)出現的次數為偶數)。

設滿足條件的\(r\)位數字的數目為\(a_r\)(特別地,規定\(a_0=1\)),則序列\(a_0,a_1,a_2,\cdots\)的生成函數為:
\[ G_e(x)=(1+\frac{x^2}{2!}+\frac{x^4}{4!}+\cdots)^2(1+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}\cdots)^3 \\ \because\quad \left\{\begin{aligned} &(e^x+e^{-x})/2 &&=1+\frac{x^2}{2!}+\frac{x^4}{4!}+\cdots\\ &e^x &&=1+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}\cdots \end{aligned}\right.\\ \begin{aligned} \therefore\quad G_e(x) &=\frac{1}{4}(e^x+e^{-x})^2e^{3x}\\ &=\frac{1}{4}(e^{5x}+2e^{3x}+e^x)\\ &=\frac{1}{4}\sum_{n=0}^{+\infty}(5^n+2*3^n+1)*\frac{x^n}{n!} \end{aligned} \]
\(a_n=\frac{1}{4}(5^n+2*3^n+1)\)

與多項式的結合應用 洛谷5162

推薦的文檔 組合數學--生成函數與遞推 朱全民

轉載于:https://www.cnblogs.com/nosta/p/9438970.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279675.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pixel相機是怎么做到自動補抓最不錯的自拍照

網絡大廠 AI研究團隊近日在最新的Pixel相機中,于無快門模式Photobooth新增親吻偵測功能,當用戶親吻自己的愛人時,相機會自動捕捉這一瞬間。網絡大廠過去是藉由Photobooth模式,讓用戶更簡單地成功自拍,不管是一個人、情…

os x 啟動引導_什么是OS X的啟動板以及它如何工作?

os x 啟動引導If you’re new to OS X, or even if you’re not and you’re simply used to pinning everything to the Dock, you might have wondered what Launchpad is, what it does, and how to use it. 如果您不熟悉OS X,或者即使您不熟悉OS X,而…

freeradius的proxy功能

要配置freeRADIUS的proxy功能,就需要熟悉它的兩個配置文件:proxy.conf 和client.conf。 1. proxy.conf主要是用來配置被代理的radius server(也叫home server) 和 realm, 以及他們之間的映射關系,也就是req…

小程序 iphone和安卓_如何阻止iPhone和iPad應用程序要求評級

小程序 iphone和安卓Lots of iPhone and iPad apps ask for ratings, and they often don’t stop. Even if you do leave a review just to stop seeing the review requests, new apps you install will pester you for reviews, too. iOS 11 fixes this problem, limiting h…

一篇年薪60萬的JVM性能調優文章

2019獨角獸企業重金招聘Python工程師標準>>> JVM 調優概述 性能定義 吞吐量 - 指不考慮 GC 引起的停頓時間或內存消耗,垃圾收集器能支撐應用達到的最高性能指標。延遲 - 其度量標準是縮短由于垃圾啊收集引起的停頓時間或者完全消除因垃圾收集所引起的停頓…

yum 出錯,提示Segmentation Fault (core Dumped) 的解決辦法

CentOS5.5部署Zlib導致yum使用不了,報錯Yum Segmentation Fault (core Dumped) 。 在一臺CentOS.5.5的機器上使用Yum時突然報錯,提示Yum Segmentation Fault (core Dumped) ;并產生core.*文件 解決辦法: # rpm -q zlib zlib-devel…

手機主題隨手機殼改變_無線充電可以與手機殼一起使用嗎?

手機主題隨手機殼改變With wireless charging making its way into the new iPhones, there are undoubtedly a lot of questions floating around about how this technology works in practical application. The biggest question I’ve heard so far is: will it work with…

求連續序列的最大子序列和

求一個序列的最大子序列和,這個可以有幾種方法都可以去求解,這里我提供兩種方法給大家。 假如這個序列是{1,-2,3,4},顯然最大子序列和是7,那么這個要怎么去計算呢? 第一種方法就是順…

Go語言與數據庫開發:01-09

包和工具 Go語言有超過100個的標準包(譯注:可以用 go list std | wc -l 命令查看標準包的具體數目),標準庫為大多數的程序提供了必要的基礎構件。在Go的社區,有很多成熟的包被設計、共享、重用和改進,目前互…

android 文本后圖標_如何在Android中更改文本,圖標等的大小

android 文本后圖標Let’s face it: no matter how good the screens are on our phones and tablets, the text can sometimes be too tiny if you have poor eyesight. The good news is that there are a variety of methods to help you alleviate squinting just to make …

Code Chef February Challenge 2019題解

傳送門 \(HMAPPY2\) 咕 話說這題居然卡\(scanf\)的么??? int T;cin>>T; while(T--){cin>>n>>a>>b>>k;puts(n/an/b-n/(a*b/__gcd(a,b))*2>k?"Win":"Lose"); } \(CHEFING\) 咕咕 int T;…

Linux文本查看命令之uniq

uniq是專用的去重命令限制:必須相鄰的兩行內容相同才算是重復,如果內容相同,但是兩行之間有其他內容就不算重復。使用uniq命令先排序,再去重。-d 的選項是用來僅顯示重復行的-u 僅顯示不重復的行-c 統計每一行出現的次數本文轉自 …

BitMap位圖與海量數據的理解與應用

1. Bit Map算法簡介 來自于《編程珠璣》。所謂的Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由于采用了Bit為單位來存儲數據,因此在存儲空間方面,可以大大節省。 2、 Bit Map的基本思想 我們先來看一個具體的例子&a…

imdb文件_如何停止IMDB應用程序向您發送通知

imdb文件Recently, the IMDB app started sending out notifications for “Featured Trailers”. As near as I can guess, this is where the production company pays IMDB to push a link to the trailer to a load of people in an effort to promote it. If IMDB isn’t …

科普:BCH能夠買什么?如何使用BCH買東西?

2019獨角獸企業重金招聘Python工程師標準>>> 一提到BCH,你最想拿它做什么?可能對于投資者來說,它是暴富的神器,是投資的工具;對于開發者來說,是實現自身價值構建應用程序的網絡和平臺&#xff0…

驅動學習之驅動體驗

1:什么是linux驅動 從本質上講,驅動就是屬于內核層面的程序代碼,是直接和硬件打交道的。與裸機中直接操作寄存器去操作硬件的不同之處在于,裸機中操作的是物理內存,而我們在驅動中操作的是虛擬內存,驅動中還…

vim(三)golang代碼跳轉配

在golang的代碼里跳來跳去。。。。 godef 安裝 跳轉是通過godef實現,godef的安裝目錄一般是$GOBIN,只要讓godef命令在$PATH下即可 godef 命令安裝: go get -v github.com/rogpeppe/godef go install -v github.com/rogpeppe/godef vim插件安裝 ~/.vimrc配…

如何將iPhone或iPad更新到iOS 11

Apple released iOS 11 on September 19, 2017. You can upgrade by tapping “Install Now” when an update message appears, but you can also check for the update and install it immediately. 蘋果于2017年9月19日發布了iOS11 。您可以通過在出現更新消息時點按“立即安…

三、Python-列表

三、Python-列表 一、序列:是一塊用于存放多個值的連續內存空間,并且按一定順序排列,可以通過索引取值索引:從左到右的索引從0開始依次增加的正整數;從右到左的索引為-1開始的復數切片(分片)&am…

使用基本ACL規則限制用戶登錄

要求:配置ACL 2005規則,限制vty 0 4界面只允許IP地址為192.168.1.8的用戶和10.10.100.0/24網段的用戶登錄設備。 配置如下: system-view acl 2005 rule permit source 192.168.1.8 0 //允許IP地址為192.168.1.8的用戶登錄設備 rule permit s…