我是靠谱客的博主 故意蓝天,最近开发中收集的这篇文章主要介绍生成函数简单入门生成函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

生成函数

可表示为 F ( x ) = ∑ n a n k n ( x ) F(x) = sumlimits_{n} a_n k_n(x) F(x)=nankn(x),对于不同类型的生成函数,有不同的核函数 k n ( x ) k_n(x) kn(x)

普通生成函数: k n ( x ) = x n k_n(x) = x ^ n kn(x)=xn

指数生成函数: k n ( x ) = x n n ! k_n(x) = frac{x ^ n}{n !} kn(x)=n!xn

迪利克雷生成函数: k n ( x ) = 1 n x k_n(x) = frac{1}{n ^ x} kn(x)=nx1

普通生成函数

封闭形式

在运用生成函数的过程中,我们不会一直使用形式幂级数的形式,而会适时地转化为封闭形式以更好地化简。

对于 < 1 , 1 , 1 , ⋯ > <1, 1, 1, dots> <1,1,1,>的普通生成函数 F ( x ) = ∑ 0 ≤ n x n F(x) = sumlimits_{0 leq n} x ^ n F(x)=0nxn F ( x ) x + 1 = F ( x ) F(x)x + 1 = F(x) F(x)x+1=F(x) F ( x ) = 1 1 − x F(x) = frac{1}{1 - x} F(x)=1x1

一些函数的封闭形式化简

< 1 , p , p 2 , p 3 , p 4 , ⋯ > <1, p, p ^ 2, p ^ 3, p ^ 4, dots> <1,p,p2,p3,p4,>

F ( x ) = ∑ n ≥ 0 p n x n , F ( x ) p x + x = F ( x ) , F ( x ) = x 1 − p x F(x) = sumlimits_{n geq 0} p ^ n x ^ n, F(x) px + x = F(x), F(x) = frac{x}{1 - px} F(x)=n0pnxn,F(x)px+x=F(x),F(x)=1pxx

< 0 , 1 , 1 , 1 , 1 , ⋯ > <0, 1, 1, 1, 1, dots> <0,1,1,1,1,>

F ( x ) = ∑ n ≥ 1 x n , x F ( x ) + x = F ( x ) , F ( x ) = x 1 − x F(x) = sumlimits_{n geq 1} x ^ n,xF(x) + x = F(x), F(x) = frac{x}{1 - x} F(x)=n1xn,xF(x)+x=F(x),F(x)=1xx

< 1 , 0 , 1 , 0 , 1 , ⋯ > <1, 0, 1, 0, 1, dots> <1,0,1,0,1,>

F ( x ) = ∑ n ≥ 0 x 2 n , F ( x ) x 2 + 1 = F ( x ) , F ( x ) = 1 1 − x 2 F(x) = sumlimits_{n geq 0} x ^ {2n}, F(x)x ^ 2 + 1 = F(x), F(x) = frac{1}{1 - x ^ 2} F(x)=n0x2n,F(x)x2+1=F(x),F(x)=1x21

< 1 , 2 , 3 , 4 , 5 , ⋯ > <1, 2, 3, 4, 5, dots> <1,2,3,4,5,>

F ( x ) = ∑ n ≥ 0 ( n + 1 ) x n , F ( x ) − x F ( x ) = ∑ n ≥ 0 x n = 1 1 − x , F ( x ) = 1 ( 1 − x ) 2 F(x) = sumlimits_{n geq 0} (n + 1) x ^ n, F(x) - xF(x) = sumlimits_{n geq 0} x ^ n = frac{1}{1 - x}, F(x) = frac{1}{(1 - x) ^ 2} F(x)=n0(n+1)xn,F(x)xF(x)=n0xn=1x1,F(x)=(1x)21

a n = ( n m ) ( m 是 常 数 , n ≥ 0 ) a_n = (_n ^ m)(m是常数,n geq 0) an=(nm)(mn0)

F ( x ) = ∑ n ≥ 0 C m n x n , 二 项 式 定 理 有 F ( x ) = ( 1 + x ) m F(x) = sumlimits_{n geq 0} C_m ^n x ^ n, 二项式定理有F(x) = (1 + x) ^ m F(x)=n0Cmnxn,F(x)=(1+x)m

a n = ( n n + m ) ( m 是 常 数 , n ≥ 0 ) a_n = (_n ^{n + m})(m是常数,n geq 0) an=(nn+m)(mn0)

F ( x ) = ∑ n ≥ 0 C n + m n x n , F ( x ) = 1 ( 1 − x ) m + 1 F(x) = sumlimits_{n geq 0} C_{n + m} ^{n} x ^ n, F(x) = frac{1}{(1 - x) ^{m + 1}} F(x)=n0Cn+mnxn,F(x)=(1x)m+11

斐波那契数列生成函数

F ( x ) = a 0 + a 1 x + a 2 x 2 + … x F ( x ) = a 0 x + a 1 x 2 + a 2 x 3 + … x 2 F ( x ) = a 0 x 2 + a 1 x 3 + a 2 x 4 + … F ( x ) = x F ( x ) + x 2 F ( x ) + a 0 F ( x ) = 1 1 − x − x 2 求 解 1 − x − x 2 = ( 1 − a x ) ( 1 − b x ) , 得 到 a = 1 + 5 2 , b = 1 − 5 2 F ( x ) = 1 1 − x − x 2 = A 1 − a x + B 1 − b x 解 得 A = 1 n a , B = − 1 5 b 有 F ( x ) = a 5 1 1 − a x − b 5 B 1 − b x 由 ∑ n ≥ 0 C n + m n x n = 1 ( 1 − x ) m + 1 可 解 得 斐 波 那 契 生 成 函 数 的 第 n 项 系 数 , a n = a 5 a n − b 5 b n a n = 1 5 ( ( 1 + 5 2 ) n + 1 − ( 1 − 5 2 ) n + 1 ) F(x) = a_0 + a_1x + a_2 x ^ 2 + dots\ xF(x) = a_0x + a_1x ^ 2 + a_2 x ^ 3 + dots\ x ^ 2 F(x) = a_0 x ^ 2 + a_1 x ^ 3 + a_2 x ^ 4 + dots\ F(x) = xF(x) + x ^ 2 F(x) + a_0\ F(x) = frac{1}{1 - x - x ^ 2}\ 求解1 - x - x ^ 2 = (1 - ax)(1 - bx),得到a = frac{1 + sqrt 5}{2}, b = frac{1 - sqrt 5}{2}\ F(x) = frac{1}{1 - x - x ^ 2} = frac{A}{1 - ax} + frac{B}{1 - bx}\ 解得A = frac{1}{sqrt n} a, B = -frac{1}{sqrt 5}b\ 有F(x) = frac{a}{sqrt 5} frac{1}{1 - ax} - frac{b}{sqrt 5} frac{B}{1 - bx}\ 由sumlimits_{n geq 0} C_{n + m} ^{n} x ^ n = frac{1}{(1 - x) ^{m + 1}}\ 可解得斐波那契生成函数的第n项系数,a_n = frac{a}{sqrt 5} a ^ n - frac{b}{sqrt 5} b ^ n\ a_n = frac{1}{sqrt 5}((frac{1 + sqrt 5}{2}) ^ {n + 1} - (frac{1 - sqrt 5}{2}) ^{n + 1})\ F(x)=a0+a1x+a2x2+xF(x)=a0x+a1x2+a2x3+x2F(x)=a0x2+a1x3+a2x4+F(x)=xF(x)+x2F(x)+a0F(x)=1xx211xx2=(1ax)(1bx)a=21+5 ,b=215 F(x)=1xx21=1axA+1bxBA=n 1a,B=5 1bF(x)=5 a1ax15 b1bxBn0Cn+mnxn=(1x)m+11nan=5 aan5 bbnan=5 1((21+5 )n+1(215 )n+1)

一道生成函数模板题

由题意可列出式子
∑ n ≥ 0 x 6 n = 1 1 − x 6 ∑ n ≥ 0 9 x n = x 10 − 1 x − 1 ∑ n ≥ 0 5 x n = x 6 − 1 x − 1 ∑ n ≥ 0 x 4 n = 1 1 − x 4 ∑ n ≥ 0 7 = x 8 − 1 x − 1 ∑ n ≥ 0 x 2 n = 1 1 − x 2 ∑ n ≥ 0 1 x n = x 2 − 1 x − 1 ∑ n ≥ 0 x 8 n = 1 1 − x 8 ∑ n ≥ 0 x 10 n = 1 1 − x 10 ∑ n ≥ 0 3 = x 4 − 1 x − 1 全 部 乘 起 来 得 到 1 ( 1 − x ) 5 得 到 第 n 项 为 C n + 4 n = C n + 4 4 sum_{n geq 0} x ^ {6n} = frac{1}{1 - x ^ 6}\ sum_{n geq 0} ^{9} x ^ n = frac{x ^ {10} - 1}{x - 1}\ sum_{n geq 0} ^{5} x ^ n = frac{x ^ 6 - 1}{x - 1}\ sum_{n geq 0} x ^{4n} = frac{1}{1 - x ^ 4}\ sum_{n geq 0} ^{7} = frac{x ^ 8 - 1}{x - 1}\ sum_{n geq 0} x ^{2n} = frac{1}{1 - x ^ 2}\ sum_{n geq 0} ^{1} x ^ n = frac{x ^ 2 - 1}{x - 1}\ sum_{n geq 0} x ^{8n} = frac{1}{1 - x ^ 8}\ sum_{n geq 0} x ^{10 n} = frac{1}{1 - x ^{10}}\ sum_{n geq 0} ^{3} = frac{x ^ 4 - 1}{x - 1}\ 全部乘起来得到frac{1}{(1 - x) ^ 5}\ 得到第n项为C_{n + 4} ^{n} = C_{n + 4} ^{4}\ n0x6n=1x61n09xn=x1x101n05xn=x1x61n0x4n=1x41n07=x1x81n0x2n=1x21n01xn=x1x21n0x8n=1x81n0x10n=1x101n03=x1x41(1x)51nCn+4n=Cn+44

#3027. [Ceoi2004]Sweet

题目就是要我们求:
F ( x ) = ∏ i = 1 n 1 − x m i + 1 1 − x F ( x ) ( 1 − x ) n = ∏ i = 1 n 1 − x m i + 1 F(x) = prod_{i = 1} ^{n} frac{1 - x ^{m_i + 1}}{1 - x}\ F(x) (1 - x) ^ n = prod_{i = 1} ^{n} 1 - x ^{m_i + 1}\ F(x)=i=1n1x1xmi+1F(x)(1x)n=i=1n1xmi+1
只需要暴力展开左右两边,枚举系数即可求得,


最后

以上就是故意蓝天为你收集整理的生成函数简单入门生成函数的全部内容,希望文章能够帮你解决生成函数简单入门生成函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部