概述
生成函数
可表示为 F ( x ) = ∑ n a n k n ( x ) F(x) = sumlimits_{n} a_n k_n(x) F(x)=n∑ankn(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)=0≤n∑xn, 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)=1−x1
一些函数的封闭形式化简
< 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)=n≥0∑pnxn,F(x)px+x=F(x),F(x)=1−pxx
< 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)=n≥1∑xn,xF(x)+x=F(x),F(x)=1−xx
< 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)=n≥0∑x2n,F(x)x2+1=F(x),F(x)=1−x21
< 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)=n≥0∑(n+1)xn,F(x)−xF(x)=n≥0∑xn=1−x1,F(x)=(1−x)21
a n = ( n m ) ( m 是 常 数 , n ≥ 0 ) a_n = (_n ^ m)(m是常数,n geq 0) an=(nm)(m是常数,n≥0)
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)=n≥0∑Cmnxn,二项式定理有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)(m是常数,n≥0)
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)=n≥0∑Cn+mnxn,F(x)=(1−x)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)=1−x−x21求解1−x−x2=(1−ax)(1−bx),得到a=21+5,b=21−5F(x)=1−x−x21=1−axA+1−bxB解得A=n1a,B=−51b有F(x)=5a1−ax1−5b1−bxB由n≥0∑Cn+mnxn=(1−x)m+11可解得斐波那契生成函数的第n项系数,an=5aan−5bbnan=51((21+5)n+1−(21−5)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}\
n≥0∑x6n=1−x61n≥0∑9xn=x−1x10−1n≥0∑5xn=x−1x6−1n≥0∑x4n=1−x41n≥0∑7=x−1x8−1n≥0∑x2n=1−x21n≥0∑1xn=x−1x2−1n≥0∑x8n=1−x81n≥0∑x10n=1−x101n≥0∑3=x−1x4−1全部乘起来得到(1−x)51得到第n项为Cn+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=1∏n1−x1−xmi+1F(x)(1−x)n=i=1∏n1−xmi+1
只需要暴力展开左右两边,枚举系数即可求得,
最后
以上就是故意蓝天为你收集整理的生成函数简单入门生成函数的全部内容,希望文章能够帮你解决生成函数简单入门生成函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复