当前课程知识点:组合数学 > 初识母函数 > 整数拆分 > 整数拆分(1)
今天呢我们来研究一个非常经典的问题
被称作整数拆分
说起整数拆分大家都可以想象
整数拆分的确切定义就是
将一个正整数拆分成若干个正整数之和
但是这里大家要注意
是否考虑你进行加法的时候的顺序呢
如果你认为所有的位置都是有关的
也就是加的时候考虑它顺序
这样的整数拆分被称为有序拆分
英文叫做Composition
如果说我并不考虑它的顺序
只是认为数字被切成几块
那么我们称它为无序拆分
英文就称为Partition
我们来用3这个简单的数字来理解一下
对于有序拆分来说
3可以等于1加2 也可以等于2加1
因此1加2 2加1是两个不同的有序拆分
但是对于无序拆分来说
3就是1和2之和 1 2就是一种有序拆分
因此我们可以知道有序拆分和无序拆分
是整数拆分的不同类型
我们先拿有序拆分来看
对应于一个数字n
想要拆分成r个自然数之和
它到底有多少种不同的方案呢
其实这个问题可以用放球模型来解决
比如说我们对于n个数字
用n个小球来表示
这时候我们要把这n个小球
划分到r个区域里面去
而且这r个区域就从第一位一直到第r位的
这时候我们可以看到
要想把这些球放到r个区域内
就意味着我应该把它划分成r个不同的小格子
要划分出r个区域
我们中间可以用r减1个隔板来实现
那么它要在插的时候
由于每个区域内至少要有一个球
那意味着应该在所有球之间的间隙去插隔板
那n个球之间有多少个间隙呢
一共有n减1个间隙
那这个问题就显而易见了
对于数字n要想拆分成r个自然数之和
我们就相当于在这n减1个间隙中
选择r减1个做隔板就好了
因此我们可以说对于有序拆分来说
相对比较容易
把自然数n拆分成r个自然数之和
它的方案数就等于cn减1 r减1
下面呢我们来分析一下无序拆分
首先我们来定义一个无序r拆分
也就是对应于一个数n
怎么把它划分成r个自然数之和
以3为例 比如说3的2拆分
意味着把3拆分成两个自然数
这时候它只有一种答案
也就是3等于2加1
2和1就构成了一个无序拆分
那么对于3的所有的无序拆分
我们可以看 如果分成1拆分的话
它就是3加0加0
如果是2拆分的话 2加1加0
如果是3拆分就是1加1加1
注意在这里面我们虽然用了加法来表示
但是它们的顺序是无关的
这时候我们就会想
似乎这种现象我们似曾相识
是不是就可以想象把它变成一个放隔板
x1加x2加xn等于b的一种非负整数减个数呢
我们来分析他们的区别
我们会看到
当初我们介绍这道题目的时候
是说到确实可以有这么多个数字放在里面
我们在中间加隔板
最后呢我们就能够用C(n+b-1,n)
来表示对应的非负整数解个数
但是在这里我们会发现
有一点和无序拆分不同的
在这样一个划分中
我们如果划分0加3加0 和3加0加0
在这个非负整数解个数这个问题中
它们是两个解
但是在我们的无序拆分中
这两个方案实际上对应的是一种无序拆分
因此我们发现原来我们说到的
这种隔板放球模型
是不再适用于无序拆分了
那我们总结一下
刚才的有序拆分中
我们是说所有的球都是无区别的
然后我们要放到有标志盒子中
但有一点盒子是不允许空着的
如果我们允许盒子是空着的时候
这时候我们把它就变成了无序拆分
因此从放球模型上我们来总结一下
什么是无序拆分呢
无序拆分就是
把一个整数拆分成若干整数的和
它相当于把n个无区别的球
放入到无标志的盒子中
而且允许盒子空着
至于有多少种方法
就意味着整数拆分数是多少
-什么是组合数学
--什么是组合数学
--讨论题
-最精巧的排列——幻方
--幻方
-漫谈组合数学--最精巧的排列——幻方
-苦难的羊皮纸卷
--羊皮纸卷
-苦难的羊皮纸卷--作业
-你的手机密码安全吗
-漫谈组合数学--你的手机密码安全吗
-暴力枚举和抽象转换
--世界杯引出的问题
--世界杯引出的问题--练习
--一一对应
--七桥问题
--小结
--讨论题
-大家谈组合数学(1)
--采访武永卫老师
-第一周作业
--作业说明
--H
--U
--G
--作业讨论区说明
-第一周演示程序
--程序讨论区说明
--幻方生成器
--换方计数
--屏幕解锁方案数
--欧拉路计数
--共享程序
-加减乘除来计数
--计数的基本法则
-排列还是组合
--排列还是组合
--小乒乓球的组合之旅--排列还是组合
-各种各样的排列
--圆排列和项链排列
--圆排列和项链排列--习题
--多重排列
--多重排列--练习
-多样的组合
--可重组合
--不相邻组合
--小乒乓球的组合之旅--多样的组合
-钟声里的全排列
--钟声里的全排列
--钟声里的全排列
--字典序法
--SJT算法
-第二周作业
--H
--U
--G
--思考题
--公式测试
--作业讨论区说明
-第二周演示程序
--程序讨论区说明
--全排列生成
--组合生成器
--共享程序
-参考资料:Stirling估计式
-母函数是函数的母亲吗
--母函数的定义(1)--练习
--母函数的定义(2)--练习
-母函数的简单应用
--初识母函数--母函数的简单应用
-整数拆分
--整数拆分(1)
--整数拆分(2)
-Ferrers图像
--Ferrers图像--作业
-母函数与递推关系
--母函数能做什么
--偶数个5怎样算
--母函数小结
-大家谈组合数学(2)
-第三周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第三周演示程序
--程序讨论区说明
--整数拆分
--汉诺塔
--共享程序说明
-Fibonacci数列
--线性常系数递推关系--Fibonacci数列
-Fibonacci数列的应用
--桌布魔术
--桌布魔术--练习
--艾略特波浪曲线
-线性常系数齐次递推关系
--定义
--特征多项式
--线性常系数递推关系--线性常系数齐次递推关系
-说“数”解题
-第四周作业
--H
--U
--G
--GT思考题
--作业讨论区说明
-第四周演示程序
--程序讨论区说明
--程序共享说明
-爆笑花絮
--爆笑花絮
-参考资料:K线分析中的Fibonacci 相关理论
-Catalan数
--计算机界的精灵
--神奇的序列--Catalan数
-指数型母函数
--指数型母函数
--神奇的序列--指数型母函数
-错排
--错排1
--错排2
--神奇的序列--错排
-Stirling数
--神奇的序列--Stirling数
-母函数小结
--母函数小结
-大家谈组合数学(3)
-第五周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第五周演示程序
--讨论区说明
--Catalan数
--程序共享
-且容且斥
--容斥原理
--容斥原理的证明
--容斥原理和鸽巢原理--且容且斥
-容斥原理的精妙
-回忆过去,容斥新解
--容斥原理和鸽巢原理--回忆过去,容斥新解
-鸽子抢巢
--鸽巢原理
--鸽巢原理--练习
--鸽巢原理的应用(1)--练习
-看得见摸得着的鸽巢
--韩信点兵
--中国剩余定理
--容斥原理和鸽巢原理--看得见摸得着的鸽巢
-6人行和Ramsey数
--6人行
--Ramsey数
--小结
-第六周作业
--H
--U
--G
--GT
--作业讨论区说明
-第六周演示程序
--讨论区说明
--程序共享说明
-可以转的世界
--可以转的世界
--可以转的世界--练习
--伽罗华与群
--群的定义
--群的定义--练习
--群的一些概念
-置换群
--置换群
--群--置换群
--共轭类
--对换
--对换--练习
--置换群的应用
-Burnside引理
--着色问题的等价类
--Burnside引理--作业
-闲话群
-第七周作业
--H
--U
--G
--作业讨论区说明
-Burnside引理的困境
-从Burnside到Polya
--Polya定理
-立方体旋转
--立方体旋转(1)
--立方体旋转(2)
--立方体旋转--作业
--立方体旋转(3)
--立方体旋转--作业
--立方体旋转(4)
-母函数型Polya定理
--Polya定理--母函数型Polya定理
-图的计数
--图的计数
-总结
--本章小结
-第八周作业
--H
--U
--G
--GT
--作业讨论区说明
-大家谈组合数学(4)
--采访黄连生老师
-组合之美
--组合之美之计数
-组合之美之线性常系数递推关系
-组合之美之多样的序列
-组合之美之鸽巢原理
-组合之美之转动群与染色
-采访邹欣
--采访邹欣1
--采访邹欣2
-知识点串串烧
--知识点串串烧
-期末测验--期末测验