博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合数学(1)
阅读量:7158 次
发布时间:2019-06-29

本文共 1259 字,大约阅读时间需要 4 分钟。

    为什么会这么说呢?因为这几天碰到一个算法,叫MCMC,这是一个相当复杂的东西,本以为我能够理解它,但是看了一天却发现自己不会的数学名词太多了,最终就败下阵来,投降了。因为最近被组合数学也搞的焦头烂额了,高中的时候关于排列组合就不是很敏感,感觉这更像是智力题,像我这种笨脑瓜只有靠努力的记忆题目类型了。

    组合数学的最主要内容是对离散对象的技术,首先是经常用到的两个基本准则,加法法则和乘法法则。这个还是挺好理解的。

    一一对应这点很重要,比如某种计数比较困难,可以考虑将问题转换为一个与其一一对应的问题,然后进行计数。

    排列组合的模型。关于排列组合的问题除了一一对应是个难点之外,还有解题中分类的方法比较重要,如下题目:

 

        从1到300间选取3个数使它们的和正好被3除尽,试问有多少种方案。&&  求由1,3,5,7不重复出现组成的整数的和

 

    圆周排列需要考虑一个重复度的问题,需要将重复度去除。

    接下来介绍了排列的生成算法,序数法,字典序法,换位法,轮转法。

    一个比较难理解的问题,我个人比较难理解的问题就是允许重复的组合问题。原问题是n个不同的元素中取r个作允许重复的组合,其组合数位C(n+r-1,r)。这个模型对比与盒子和球的问题时就是r个无标识的球放进n个有标志的盒子中。两个问题是等价的。证明的方法将其与无重复的组合问题一一对应。

    还有一个问题是不相邻的组合问题。组合的生成比较简单,类似字典序法。组合的意义可以解释为街道问题~,这和上次笔试那个极为的相似。

    这里有一个比较经典的街道问题,很多其他问题最终可以归结为这个问题。

   

    这个街道问题的原型是从(0,0)点走到(m,n)点,其中m<n。要求所走的路径上的点的横坐标恒小于纵坐标。

    其中有两个问题的解决都依靠于这个问题的解决。比如有一个排队买电影票的问题,排队的所有人中有50的,有100的,电影票值50元。售票处无零钱,每人限购一张电影票,有多少种排队方式可以使得售票处不用欠钱。永远都有找零。

    另外一个相似问题就是n个1和n个0组成的序列,任意前k个中0个个数不小于1的个数的序列有多少种。

    上面两种问题均转换为第一个半个街道问题,并且对角线上移即可。

 

    另外一种题目就是分类的方法比较怪异,还有就是要灵活运用重复组合的公式。也及r个相同的球放入n个不同盒子这个问题的模型,其等价于n个不同的求做取r个做重复组合。

    其中一个问题就是结合这两种,一个比较简单的版本就是5个0和4个1,组成的序列,其中01或10出现次数总和为4的序列有多少种?复杂的版本就是m个0,n个1,然后出现01或10次数总和为k次的序列有多少种?这个题目就需要讨论了。

    还有一些就是划分的技巧了,比如1-1000000中,0出现的次数。这里就分为个位出现的次数,十位出现的次数...讨论了。

    另外一个需要讨论的就是n个不同的数字,取出2组,其中一组的最小数比另外一组最大数大的取出方法有多少种,这里也需要分类讨论。

    

    组合数学感觉一个比较费脑力,需要思考的一门学科,跟计算机贴的也比较紧密。

    

转载地址:http://elhgl.baihongyu.com/

你可能感兴趣的文章
Java常用的23种设计模式
查看>>
svn常用命令
查看>>
Ubuntu下CPU/GPU模式YOLOv3代码运行
查看>>
你不知道的互联网金融的大众特征性
查看>>
Linux系统里如何彻底清空终端屏幕
查看>>
PostgreSQL获取表的Size
查看>>
UA2015年第二学期的目标
查看>>
DELL R730 Raid配置
查看>>
jdk1.8 lambda表达式过滤重复的对象
查看>>
wincp连接linux异常关闭
查看>>
使用Gradle构建工具开发Kotlin Web应用程序
查看>>
vmware测试环境虚拟机模板
查看>>
vsphere client 无法连接Vcenter主机
查看>>
Windows 2008 防火墙开放端口
查看>>
Highcharts-4.1.7使用实例(关键部分代码)
查看>>
PHP字符串分离、截取函数(explod)
查看>>
我的友情链接
查看>>
因特尔和谷歌合作优化Android
查看>>
Windows 7 部署工具DISM学习(二)--添加补丁
查看>>
2012ftp和website配置
查看>>