四.计数

鸽巢原理:如果k+1个或更多的物体放入k个盒子,那么至少有一个盒子包含了2个或更多的物体。

广义鸽巢原理:如果n个物体放入k个盒子,那么至少有一个盒子包含了至少n/k(取上线)个物体。

例:为保证一个州2500万个电话有不同的电话号码,所需地区代码的最小数是多少(假定电话号码NXX-NXX-XXXX,N取值为2~8,X取0~9)(前三位为地区代码)

解:求所需地区代码的最小数,我们考虑后七位,N有8种取值可能,一个有8*10^6种电话号码,那么最小数就是(2500*10000/(8*10^6))取上限,即为4,故至少需要4个地区代码。

例:证明在不超过2n的任意n+1个正整数中一定存在一个正整数被另一个正整数整除。

证明:把出现的这n+1个数字表示成2的幂乘以一个奇数,那么这里出现的n+1个奇数,当然还是在范围[1,2n]内的奇数,但是区间之内只有n个奇数,那么必然存在着两个奇数相等,对应到刚才包含这两个元素的两个数字必然有相同因子,即相等的这个奇数,得证。

例:假定一组六个人中,任意两个人是朋友或者敌人,证明在这组人中存在三个人彼此是朋友或者彼此是敌人。

证明:根据广义鸽巢原理,我们知道至少有一个人至少有三个朋友或者三个敌人,我们拿这个人说事吧,对于是她的三个朋友或者敌人,如果那三个人之间有两个人存在同样的关系,那么命题就得证了。引入拉姆齐数R(m,n)(其中m和n是大于等于2的整数)表示:每两个人是朋友或者敌人,那么至少有m个人两两都是朋友,或者有n个人两两都是敌人所需要的最少人数,例题表示R(3,3)<=6,而在一个五人组里,其中每两个人是朋友或者敌人,可能没有三个人两两都是朋友或者是敌人的情况,因此R(3,3)=6(关于拉姆齐数的性质还是有必要了解的,对于这样的数对还真是不好找)

P289

T31.设n>=4,有多少个n位二进位串恰好01在其中出现了两次。

解:在n-2个0里面插入2个1,第一次插的时候是n-2种情况,第二次插的时候是n-3种情况,如果这么想,你就错了。这里面0的个数或者是1的个数绝对不是唯一的,,一个01节的前面可以有好多个1,,后面可以有好多个0。如果我们把这个01标记出来就可以发现,整个01串被这两部分分成了三截,一共也就是五部分,所以我们所要的答案就是C(n+1,5).

五.概率 null

六.高级计数技术

求解常数系数线性齐次递推关系,基本上是高中数学竞赛里面求数组的通解什么的问题,在高数里面好像也提到过,还是复习一下:设c1和c2是实数,假设特征跟方程r^2-c1*r-c2=0有两个不等的根r1和r2,那么序列an是递推关系an=c1*an-1+c2*an-2的解,当且仅当an=b1*r1^n+b2*r2^n,b1,b2是常数。

整数的快速乘法什么的,主要内容差不多就是二分,分治以及矩阵的快速幂。

P354面的最近点对,算法复杂度O(nlgn),直接不看了,目测很含糊,其实这个问题吧,还是看算法导论P591面,写得比这本书写的好。

关于容斥原理的一些定理:

定理一:设m,n是正整数且m>=n,那么存在n^m-C(n,1)(n-1)^m+C(n,2)(n-2)^m-....+(-1)^(n-1)*C(n,n-1)^m个从m元素集合到n元素集合的映上函数。

定理二:n元素集合的错位排列数是Dn=n!*(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)。(证明过程用容斥原理)其实用微积分知识可知Dn=n!/e .

例:帽子认领问题 在一个餐厅里,一个新的雇员寄存n个人的帽子时,忘了把寄存号放在帽子上,现在顾客要取回帽子,雇员打算在剩下的帽子中随机发还给顾客,问没有一个人收到总控的帽子的概率是多少。(错排)

解:根据上面的定理二,我们很容易就可以知道这个概率就是1/e。

七.关系

大一的时候好像有学过一系列这样的东西,现在再看,感觉还是看不进去,姑且就不看了。

八.图

这章讲的是图的概念,比较重要的就是强连通图和哈密顿回路,在就是涉及到算法的一些DFS,BFS和Kruskal以及Prim算法,当然还有最短路,dijkstra,floyd算法。感觉稍微牛逼一点的就是讲到了四色定理,然后发现备注里写到,此证明远远超出本书范围,笑了。

九.树

博弈树

定义:博弈树中顶点的值递归地定义为:(i)一个树叶的值是当游戏在这个树叶所表示的局面里终止时第一个选手的得分,(ii)偶数层内点的值是这个内点的子女的最大值,奇数层内点的值是这个内点的子女的最小值。

定理:如果两个选手都遵循最小最大策略并且从博弈树的某一个顶点所表示的局面开始进行游戏,则这个顶点的值说明了第一选手的得分

尼玛...其实我还是不知道这有什么用,书上说是建博弈树,尼玛还不如直接说是枚举得了。

十.布尔代数

简单地描述了数字逻辑里面的基本概念卡诺图什么的。

奎因-莫克拉斯基方法,用来寻找等价布尔代数式的极小展开项,思路感觉还可以,就是感觉,他把问题复杂话了,还是把方法记一下:

1)将n变元构成的每一个小项表示成长度为n的二进制数串

2)根据串中1的个数将串分类

3)确定其余n-1个变元积中,它们取为展开式中小项的布尔和,将能够合并的小项表示成二进位串,且这些串只有一位不同。

4)确定所有这样n-2个变元的积,它们取为前一个步骤形成n-1个变元的积的布尔和,继续合并

5)继续合并如果可能

6)找到所有这样的布尔积:虽然出现,但还没用来形成少一个文字的布尔积。

7)找到这些布尔积的最小集合,使得这些积的和表示布尔函数。构造表,看哪些积覆盖了哪些小项,每一个小项至少被一个积覆盖(可以用回溯法)

十一.计算模型

表示还真没看懂....大概介绍了三种类型的计算模型,包括文法,有限状态机和图灵机。文法什么的感觉就是语义分析之类的,而有限状态机部分,好多状态图啊的,难道跟数字逻辑有关?竟然还是Mealy型,Moore型啥啥啥的...

丘奇-图灵论题:对于任何可用有效算法来解的问题,都存在解该问题的图灵机。(看不懂,不过还是先记下来吧)

《离散数学及其应用》学习(下)相关推荐

  1. android service 学习(下)

    android service 学习(下) 通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service.在android ...

  2. 【深度学习下一大突破】吴恩达对话 Hinton、Bengio、Goodfellow(视频)

     [深度学习下一大突破]吴恩达对话 Hinton.Bengio.Goodfellow(视频) [日期:2017-08-11] 来源:新智元  作者: [字体:大 中 小] [新智元导读]吴恩达深度 ...

  3. SpringBoot的全局异常处理的优雅吃法!要进来学习下吗

    SpringBoot的全局异常处理的优雅吃法!要进来学习下吗 SpringBoot全局异常准备 开发准备 环境要求 JDK :1.8 SpringBoot :1.5.17.RELEASE 首先还是Ma ...

  4. 只会使用 WaitGroup?你应该学习下 ErrGroup!

    有句话叫"看不起.看不清.追不上".近几年,关于 Go 与 Java 还有 C 的对比和讨论愈演愈烈,但不可否认的是,在十年多的时间里,Go 语言发展势头强劲,凭借其简洁.高效的特 ...

  5. 离散数学之集合论 【下】

    离散数学之集合论 [下] 一.等价关系与划分 等价关系(equivalent relation)定义 〉 等价关系R定义为: 〉 A上的自反.对称.传递的二元关系 〉 xRx:xRy→yRx:xRy∧ ...

  6. python 网页版笔记_系统学习下python网络爬虫 笔记一

    系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...

  7. 学会了PowerBI简单的托托拽拽,是时候学习下DAX了

    学会了PowerBI简单的托托拽拽,是时候学习下DAX了 不学好DAX,PowerBI对你来说就是个娱乐工具. 对于学习PowerBI来说,看起来一切都很简单,但是不会DAX的话你永远不能说自己已经会 ...

  8. Java的学习(下)

    JAVA的学习(下) 2019版尚硅谷Java入门视频教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kb411W75N?p=5 十一.Java集合 11-1 ...

  9. 分析了一个小说站,速度挺不错的,顺便学习下js

    看看代码,学习下,顺便留个记录: var _cs_ads_=[]; _cs_ads_.push({txt:'%E7%BE%9E%E5%90%AB%E5%A6%A9%E5%AA%9A%E7%9A%84% ...

  10. 学习下 BlackHat Asia 2021 大会议题

    BlackHat Asia 2021会议已经结束,相关议题资料也放出,刚好这两天周末抽空学习下,共39个议题,覆盖范围还是比较广的,虽然议题质量不如USA主会场,但多少还是有一些值得学习的内容,我只挑 ...

最新文章

  1. 【c++】13.必须用指针取值的情况.md
  2. 【独家】去哪儿网PRD兵法秘籍大公开,火爆课程精彩直击!
  3. 浅谈C#更改令牌ChangeToken
  4. java正则表达式 ascii_Java——正则表达式
  5. Unabe to login, status: 526
  6. 以云为跳板,疑似中国黑客组织黑进全球知名IT服务公司
  7. 生成汉字拼音首字母函数!
  8. bash的快捷键、特殊参数、历史命令、相关文件
  9. i9-10900K比9900K性能提升了多少?i9-10900K和i9-9900K区别对比评测
  10. C# MSchart图表控件安装与使用
  11. 十分钟掌握Nodejs下载和安装
  12. 百度云apkg手机文件怎么打开_ipad上用百度云和notability学习时的各种七七八八
  13. sai笔记6-sai2版本新增的功能
  14. oeasy教您玩转python - 4 - # 调试程序
  15. 关于js如何获取鼠标划过文本的内容与下标
  16. 网络安全测试工程师职能
  17. java将sql数据转xml文件_把从SQL中取出的数据转化成XMl格式
  18. C++网站开发MVC框架TreeFrog Framework教程——7.ERB模板
  19. 我是不是该安静的走开
  20. 不用iTunes也能添加音乐到iPod

热门文章

  1. 西联汇款哪里取钱|怎么取钱
  2. HTML快速生成标签
  3. 真无线蓝牙耳机比起有线耳机真的更好吗?新手入门哪款蓝牙耳机适合
  4. 如何优雅地在云上“摆摊”——做直播带货,你不得不关注的技术
  5. 5种方法让你不再睡过闹钟
  6. android动态背景色圆形头像
  7. C8051关闭看门狗汇编语言,汇编写启动代码之关看门狗
  8. mount通过NFS挂载
  9. 2021南昌高考成绩什么时间段可以查询,2021年江西高考成绩几号可以查?江西高考成绩排名分数什么时候出...
  10. LDAP安装及基本操作