关于组合数的一类知识 其实就那么多关键是 计数问题如何解决,这里是计数问题常用模型 隔板法。
隔板法 具体的 指将 n个数字分成m组的方案数 这看起来很难计数 有一个想法是 每个数字都有m个选择 答案为m^n 可是有重复除以n!也没有什么具体的含义所以不能这么搞。
观察到这些球并不是互异的。众所周知 组合数是不讲究互异的 所以考虑转换到组合数的模型。我们知道m组中数字个数加起来为n。
引例:
抽象出来模型n个球放一排往里面放m-1个板就可以完成这个问题了 且 不讲究互异。但是考虑我们只能在空隙中放板所以 是C(n-1,m-1).
但是考虑我们每一组分到的球数都是>=1的 所以当题目说可以为0的时候我们还需做一个操作我们把每组中放一个球的情况看成放了0个球这样依次的递减 我们只需要再多出n个球就好了,这样保证了每一组中都至少有了一个球,当然如果是一个球的话那么其实是0个球。
这里 就引出了我们隔板法的定义:在n个元素中n-1个空插入k个板 将其分成k+1组的方法。
应用隔板法d的三个必要条件:1 n个元素必须不互异 2 所分成的每一组都必须要有1个元素 3 分成的组别彼此相异。
接下来介绍几种变形吧...
添元素隔板法。上述引例其实就是一个这种方法的应用。
1 那么 更换问题 10个相同的小球放入3个不同的箱子 第一个箱子至少一个 第二个箱子至少三个个 第三个箱子可以不放 有多少种情况...还简单么...
当然 因为小球的相同的 我们可以直接钦定先把1个球放第一个箱子 三个球放第二个箱子里 那么 7个球放到三个箱子里且每个箱子可以不放球 这样我们成功转换到上述模型了...
但是 这样做还是绕了一圈 因为我们最终还是转换成了正整数解,不如直接向正整数解进行转换 考虑我们从第二个箱子钦定放两个 最后一个箱子我们手动的加球表示让第三个箱子至少有1个球 的时候表示为0个球2个球的时候表示1个球...即可。
为什么正确...证明1 发现两种做法的到的式子相同故正确,证明2 我们始终定义第三个箱子有球的话就是球数-1 这样也能证明是正确的。
2 将20个相同的小球放入编号分别为1,2,3,4的四个盒子中,要求每个盒子中的球数不少于它的编号数,求放法总数。
显然我们直接钦定放就行了 反正球是相同的。关于正确性的证明可以从答案的存在性证明。
3 一类自然数从第三个数字开始每个数字都等于其前面两个数字之和 直至不能写为止 求这种数字有多少个?
显然我们从没10到100开始爆搜 直接搜方案数即可,但是能利用我们上述的隔板法解决此问题么?我刚才手动算了一下发现是45个 这也意味着不需要for 但是我想让我们利用隔板法解决这个问题...
显然一个数字从前两位固定 那么整个数字就固定了我们只需要统计合法的前两位即可。设第一位为a 第二位为b 那么则有 a+b<=9 且a>0 这个时候我们把<=换成==就是上面的模型了...可惜并不能。
我们发现b可以为0 那么先补球让b>0 也就是a+b<=10 a b都为正整数 考虑<如何处理也就是这10个球不一定全部放入a和b我们每次把没放入a b 的球都放到c就好了 那么有 a+b+c==10 但是还有可能放完 c为空所以我们再次钦定c>0 那么结果就是
11个球放入三个箱子之中 C(10,2) ==45;非常的巧妙利用不断转换的原理。
添板插板法。还是上述例题,具体的我们让 就是添加了 c这个板 然后再进行插板 上述过程就是这个了 不过和添元素集合在了一起。
选板法。有10粒糖,如果每天至少吃一粒(多不限),吃完为止,求有多少种不同吃法?看起来很难解决的问题我们利用选板法。
首先必要的 我们有9个板如果都放的话说明10天每天一粒,但是每个板可以选择放或者不放 所以是2^9=512 两个板之间的糖定义为前一个板的那一天吃的。这样完美的转换了问题且不重不漏。
当然 还有一种证明我们先把9个板放上去 发现每天一粒 如果哪一天我多吃了 说明最后一天是没有的...那最后一天不吃就是9种 倒数第二天是8种 ...这样做显然出错 因为有重复的了...
但其实我们画一张图观察一下 上面的方法显然正确。
分类插板法。小梅有15块糖,如果每天至少吃3块,吃完为止,那么共有多少种不同的吃法?
这个和上面的选板法非常的相似可是我们不能保证每天都吃三块 直接钦定 也不行我们不知道天数不能钦定...
我们可以分类讨论一下 最多吃5天 最少吃1天 那么 这两种方案都是1,当吃2天的时候 钦定...C(10,1)=10 吃三天的时候 钦定...C(8,2)=28.吃4天 钦定..C(6,3)=20
综上有60种。
逐步插板法。在一张节目单中原有6个节目,若保持这些节目相对次序不变,再添加3个节目,共有几种情况?
我们可以逐步插入 插入第一个板的时候空隙7个 C(7,1)第二个继续C(8,1)第三个C(9,1) 相乘得 504;因为 我们添加的三个元素互异 所以不能一起插入需要逐步的插入。
到这里 基本上隔板法 的所有模型就结束了 熟记方法 数数的时候好数/cy