目录
HDU 1028 Ignatius and the Princess III
HDU 1085 Holding Bin-Laden Captive!
HDU 1171 Big Event in HDU(0-1背包)
一,生成函数
生成函数也叫母函数,是一种通过数列生成函数,研究函数从而得到数列本身的性质的一种方法。
按照函数形式,分为普通型生成函数、指数型生成函数、狄利克雷生成函数
1,普通型生成函数
用于解决组合问题

2,指数型生成函数
用于解决排列问题

3,狄利克雷生成函数




二,生成函数的应用
1,硬币兑换问题

2,整数拆分问题

3,组合选取问题


4,骰子趣题
问题:
2个点数不正常的骰子,都满足每个面上的点数是正整数(不同的面上可以有相同的点数),而且这2个骰子可以是不同的,独立地随机产生6个面上的点数中的一个。(比如说,如果2个骰子是1 2 3 6 6 8和2 3 3 4 4 4 ,那么和为10的概率就是7/36)神奇的是,2个骰子的点数之和也是2-12,而且出现的概率和点数正常的2个骰子出现2-12的概率对应相等!
那么这2个不正常的骰子点数到底是多少呢?(本题有唯一解)
解法:
求2个正整数系数的多项式,使得他们的乘积恒等于(x+x^2+x^3+x^4+x^5+x^6)^2 ,而且这2个多项式的系数和都是6(因为有6个面),同时,因为题目要求每个面的点数都是正的,所以2个多项式都没有常数项。
变成这样,这个问题就非常简单了。
设这2个多项式是f 和 g ,则f * g =(x+x^2+x^3+x^4+x^5+x^6)^2=x * (x + 1) * (x^2 - x + 1) * (x^2 + x + 1)*x * (x + 1) * (x^2 - x + 1) * (x^2 + x + 1)
根据多项式的唯一分解定理,f 和 g 就是把 (x) (x + 1) (x^2 - x + 1) (x^2 + x + 1) (x) (x + 1) (x^2 - x + 1) (x^2 + x + 1) 这8个多项式划分而已。
因为f 和 g没有常数项,所以f 和 g 各含一个(x)
因为f的系数和是f(1),所以f(1)=6,同理g(1)=6,而(x) (x + 1) (x^2 - x + 1) (x^2 + x + 1)这4个多项式在x=1处的值分别为 1 2 1 3 ,所以f 包含 (x + 1)和(x^2 + x + 1),g 也包含 (x + 1)和(x^2 + x + 1)
这就是生成函数的神奇之处!
因为是2个不同的骰子,所以 f 和 g 只能一个是x * (x + 1) * (x^2 + x + 1),另一个是x * (x + 1) * (x^2 - x + 1) * (x^2 + x + 1)* (x^2 - x + 1),即x^4 + 2 x^3 + 2 x^2 + x 和 x^8 + x^6 + x^5 + x^4 + x^3 + x
即1个骰子是4 3 3 2 2 1 ,另外一个是8 6 5 4 3 1
ps: 433221可以看成321,432,就是把原来的654变成了432
865431可以看成864,531,就是把原来的642变成了864
至于这到底怎么解释,我记得我当年是理解的,现在已经不记得了。。。
三,OJ实战
HDU 1398 Square Coins
题目:
Description
People in Silverland use square coins. Not only they have square shapes but also their values are square numbers. Coins with values of all square numbers up to 289 (=17^2), i.e., 1-credit coins, 4-credit coins, 9-credit coins, ..., and 289-credit coins, are available in Silverland.
There are four combinations of coins to pay ten credits:
ten 1-credit coins,
one 4-credit coin and six 1-credit coins,
two 4-credit coins and two 1-credit coins, and
one 9-credit coin and one 1-credit coin.
Your miss

本文深入探讨了生成函数在解决硬币兑换、整数拆分、组合选取等问题中的应用,并通过具体实例展示了如何利用生成函数解决HDU在线判题系统中的相关题目,如SquareCoins、Ignatius and the Princess III、Holding Bin-Laden Captive!等。此外,还分析了在实现算法时的优化技巧和避免超时的方法。
最低0.47元/天 解锁文章
406

被折叠的 条评论
为什么被折叠?



