普通生成函数 基础 例 1

如果有任何错误欢迎指出!!!/bx/bx/bx

前置知识

你可能需要了解一些生成函数基础。应该可以先看,看不懂再去学。

至少需要知道最基础的转封闭形式:1+x+x2+x3+=11x1+ax+(ax)2+(ax)3+=11ax

约定

F 表示函数,f 表示一个生成函数(一个拥有无限项的多项式?)。

[xi]f 表示多项式 fxi 的系数。

函数 普通生成函数封闭形式

如果有这样一个函数(这个函数是怎么来的不重要)

i=0,G(i)=0

i=1,G(i)=1

i>1,G(i)=2i2

G(i) 是什么呢,是长为 i 的合法置换环的个数:

  • 合法置换环:只有一个置换环且是由从 1 升序到 n 再从 n 降序到 1 的两条链构成的。(是什么意思也不重要,就是对于位置连续的置换环的限制)

如果我们要求 F(n) 为长为 n 的序列满足:

  • 由合法置换环构成(此处是由 mnmx,mxmn 的两条链构成的)
  • 每个置换环都是序列上连续的一段区间。

那么 F(n)=i=1nF(ni)G(i),F(0)=1

那么写出生成函数 g=i=0G(i)xi=x+i=22i2xi=x+x2i=0(2x)i=x+x2112x=x2+x(12x)12x=xx212x

然后考虑一个合法排列相当于若干个合法置换环拼接起来,有 f=i=0ngi,即枚举由几个置换环拼接而成。那么 f=11g=12x13x+x2

普通生成函数封闭形式 递推方程

这里我们需要求出 [xn]f 即为答案,那么这里怎么求呢?

我们考虑设 f=a0+a1x+a2x2+(其中实际上有 ai=G(i)

对于 ff=12x13x+x2 等价于 (13x+x2)f=(12x)=t,左侧的 =a0+(3a0+a1)x+(a2+3a1+a0)x2+,所以我们其实得到了关于 a 的方程组。

a0=1,3a0+a1=2

还发现对于 i2,有 [xi](12x)=0,且 [xi] ((13x+x2)f)=1(aixi)+(3x)(ai1xi1)+x2(ai2xi2)=(ai3ai1+ai2)xi=[xi](12x)=0

于是我们实际上得到了关于 F(i) 的递推式,在本问题中 F(0)=F(1)=1,F(i)=3F(i1)F(i2)(i2)

总结

对于无穷级数 f=cd(其中 c,d 是整式?),可以得到 cf=d,设 f=a0+a1x+a2x2,对于比较大的 [xn]f 是同一个递推式且可以解方程求出,比较大的定义是c,d 中次数最高的次数,len(c) 是显然的,对于要求 len(d),是因为此时才都是 =0

至此,我们复习(学习)了在某些情况下通过普通生成函数封闭形式反推出递推方程的方式。还略微复习了函数化为普通生成函数的方式。

posted @   SkyMaths  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示