zxyoi:
生成函数形如
其中的名叫特征函数,根据需要使用。
本次学到的有
一般生成函数(OGF)
指数生成函数(EGF)
这些都是人为定义的,真正重要的是前面的系数。指数i表示大小为i,前面的系数表示方案数。
定义一般生成函数的笛卡尔积为D,则D=A*B。也就是普通的卷积。
而指数生成函数的定义是数学家通过推导拆分式子发现这样写可以方便维护而如此的。
指数生成函数处理带标号问题,也就是说对于一个大小为i的A,大小为j的B,两者合并后还要标号,那么就有(i+j,i)个方案。
那么我们发现,将A和B卷积后得到的C,如果把n!乘过去,恰好是上述的组合数。
其实也就是因为这个组合数,才如此定义指数生成函数。
对于序列问题,即用原集合中的元素构成序列。
我们定义一个序列的大小为所有元素大小之和。
那么SEQ(A)的OGF=1+A+A^2+A^3+...也就是说我们可以看做长度为i的序列可以由A卷自己i次得到。
而这个式子一看就是1/(1-A)。等比数列。在生成函数上我们不考虑收不收敛。
序列OGF的例子:我们假设有个集合A只包含0,1两个元素。
如果定义每个元素大小都为1,那么A的OGF=2x,即大小为1的元素有2个。
那么SEQ(A)=1+2x+4x^2+8x^3+...,可以发现这里指数是长度,而系数就是对应长度的串数量。
如果定义每个元素大小为自己的绝对值,那么A的OGF=1+x,即大小为0的有一个,为1的有一个。
那么SEQ(A)=1+1+x+(1+x)^2+(1+x)^3,这里指数表示序列中1的个数,系数还是串数量。
序列EGF的例子:跟OGF差不多ouo因为我也不知道
对于集合问题。
OGF不考虑标号那集合就没意义。
但EGF本身是标了号的,那我们在集合的时候就要把阶乘除回来。
所以SET(A)=1+A+A^2/(2!)+A^3/(3!)+...+A^i/(i!)
同样发现SET(A)等于
感性理解一下qwq
集合EGF的例子:设G为带标号简单无向图构成的集合。定义图大小为图点数。
则G的EGF=,意思是说有(n,2)条边,每条边有选或不选两种情况。然后代入EGF公式。
又设G'表示带标号简单无向连通图构成的集合。
我们可以明确一个无向图就是一些无向连通图构成的集合。也就是说G=SEQ(G')
根据公式G=,也就是说
,多项式求ln,可惜我不会。
先鸽在这里。