课程上还有stirling数的,但是懒得写了,都是一样的套路。生成函数部分就直接借着总结收尾,然后愉快的开始鸽巢原理了。
生成函数是一个多项式,当直接计算排列组合问题难以计算时,采用将各种情况累乘,连带前后项、甚至无穷项一起求出来。再取出对应项的累加,即对应次方项系数的方法。(免责声明:我自己概括的,如果错了和老师无关。当然还是希望能告诉我:p)
它的一个重要应用是线性常系数齐次递推关系求解的问题。可以根据递推关系得到特征多项式,根据特征多项式根的情况(①实数重根、②非零不重实数根、③共轭复根),待定系数,设立通项表达,代入初始值计算出通项表达式。
① (A₀ + A₁n + ... + Aₖ₋₁nᵏ⁻¹)a₁ⁿ
② aₙ = l₁a₁ⁿ + l₂a₂ⁿ + ... + lₖaₖⁿ
③ aₙ = Apⁿcosnθ + Bpⁿsinnθ
组合问题的生成函数:G(x) = a₀ + a₁x + ax² + ...,常用 1/(1-ax),它幂级数展开系数刚好对应。由组合变成排列就是指数型生成函数了,各项除以对应的阶乘,常用 eˣ。
开头所说的套路就是套用公式,求解递推关系,即可得出写了(如卡特兰数等)和没细写的那些。
最后,老师提出了一个贯穿整个组合数学的问题,乒乓球放盒子问题。对应之前学过的内容,分别为:球是否相同、盒子是否相同、是否有空盒。相关问题,我之前都写过,包括组合数学系列,和其他几篇数学笔记中。