普通生成函数:Fn∑i>=0aixi乘法运算:FxGx∑i>=0aixi∑j>=0bjxj∑n>=0xn∑i0naibn−i普通生成函数用于解决多重集组合数挑战: n种物品, 每种有个,问取m个物品的组合数答案即为1x1x2...xa11x1x2...xa2...1x1x2...xanxm的系数。
普通生成函数
普通生成函数:F(n)=∑i>=0aixiF(n) = \sum_{i >= 0} a_{i}x^{i}F(n)=∑i>=0aixi
乘法运算: F(x)G(x)=∑i>=0aixi∑j>=0bjxj=∑n>=0xn∑i=0naibn−iF(x)G(x) = \sum_{i >= 0}a_{i}x^{i}\sum_{j >= 0} b_{j} x_{j} = \sum _{n>=0}x^{n}\sum_{i = 0}^{n} a_{i}b_{n-i}F(x)G(x)=∑i>=0aixi∑j>=0bjxj=∑n>=0xn∑i=0naibn−i
普通生成函数用于应对多重集组合数困难: n种物品, 每种有个,问取m个物品的组合数
答案即为(1+x1+x2+...+xa1)(1+x1+x2+...+xa2)...(1+x1+x2+...+xan)(1 + x^{1} + x^{2} + ... + x^{a_{1}})(1 + x^{1} + x^{2} + ... + x^{a_{2}})...(1 + x^{1} + x^{2} + ... + x^{a_{n}})(1+x1+x2+...+xa1)(1+x1+x2+...+xa2)...(1+x1+x2+...+xan), xmx_{m}xm的系数
指数生成函数
F(n)=∑i>=0aixii!F(n) = \sum_{i >= 0} a_{i}\frac{x^{i}}{i!}F(n)=∑i>=0aii!xi
乘法运算: F(x)G(x)=∑i>=0aixii!∑j>=0ajxjj!=∑n>=0xnn!∑i=0nCniaibn−iF(x)G(x) = \sum_{i >= 0}a_{i}\frac{x^{i}}{i!}\sum_{j >= 0}a_{j}\frac{x^{j}}{j!} = \sum _{n>=0} \frac{x^{n}}{n!} \sum_{i = 0}^{n}C_{n}^{i} a_{i}b_{n-i}F(x)G(x)=∑i>=0aii!xi∑j>=0ajj!xj=∑n>=0n!xn∑i=0nCniaibn−i
指数生成函数用于解决多重集排列数问题: n种物品, 每种有个,问取m个物品的排列数
假设第iii种物品选bib_{i}bi个, 则答案为mb1!b2!...bn!\frac{m}{b_{1}!b_{2}!...b_{n}!}b1!b2!...bn!m
即为(1+x11!+x22!+...+xa1a1!)(1+x11!+x22!+...+xa2a2!)...(1+x11!+x22!+...+xanan!)(1 + \frac{x^{1}}{1!} + \frac{x^{2}}{2!} + ... + \frac{x^{a_{1}}}{a_{1}!})(1 + \frac{x^{1}}{1!} + \frac{x^{2}}{2!} + ... + \frac{x^{a_{2}}}{a_{2}!})...(1 + \frac{x^{1}}{1!} + \frac{x^{2}}{2!} + ... + \frac{x^{a_{n}}}{a_{n}!})(1+1!x1+2!x2+...+a1!xa1)(1+1!x1+2!x2+...+a2!xa2)...(1+1!x1+2!x2+...+an!xan)答案即为xmm!\frac{x^{m}}{m!}m!xm的系数

浙公网安备 33010602011771号