Discrete mathematics and its applications笔记03

Discrete mathematics and its applications笔记
第三章

精彩习题

1.How many bit strings of length eight contain either three consecutive 0s or four consecutive 1s?(连续的3个0,或者连续的4个1,两者都满足也可以)
这题用递归去做就很舒服
设 长 度 为 n 的 位 串 ( b i t   s t r i n g ) 中 , 包 含 连 续 3 个 0 的 有 a n 个 如 果 最 后 一 个 元 素 不 是 0 , 有 a n − 1 种 , 如 果 最 后 一 个 元 素 是 0 , 1 ∘ 最 后 3 个 是 000 , 这 时 有 2 n − 3 种 。 2 ∘ 最 后 3 个 是 100 , 对 应 a n − 3 种 3 ∘ 最 后 3 个 是 010 , 对 应 a n − 2 种 所 以 a n = a n − 1 + a n − 2 + a n − 3 + 2 n − 3 a 0 = a 1 = a 2 = 0 , a 3 = 1 , a 4 = 3 , a 5 = 8 , a 6 = 20 , a 7 = 47 , a 8 = 107 处 理 连 续 4 个 1 的 时 候 , 同 理 的 话 就 有 繁 琐 了 , 可 以 换 一 种 递 归 思 路 。 设 b n 是 有 连 续 4 个 1 的 长 度 为 n 的 位 串 的 总 个 数 。 1 ∘ 对 于 长 度 为 n − 1 的 位 串 , 第 n 为 可 选 1 或 者 0 , 共 2 b n − 1 种 2 ∘ 假 设 最 后 5 个 位 置 是 01111 , 并 且 前 面 n − 5 个 位 置 里 面 没 有 连 续 4 个 1 ( 注 意 这 与 第 一 种 情 况 没 有 交 集 , 因 为 第 一 种 情 况 最 后 是 1 的 话 也 是 11111 ) 有 2 n − 5 − b n − 5 种 所 以 b n = 2 b n − 1 + 2 n − 5 − b n − 5 推 出 b 8 = 48 减 去 重 复 计 数 的 8 个 , 最 后 答 案 是 107 + 48 − 8 = 147 \begin{aligned} &设长度为n的位串(bit\ string)中,包含连续3个0的有a_n个\\ &如果最后一个元素不是0,有a_{n-1}种,\\ &如果最后一个元素是0,\\ &1^\circ 最后3个是000,这时有2^{n-3}种。\\ &2^\circ 最后3个是100,对应a_{n-3}种\\ &3^\circ 最后3个是010,对应a_{n-2}种\\ &所以a_n=a_{n-1}+a_{n-2}+a_{n-3}+2^{n-3}\\ &a_0=a_1=a_2=0,a_3=1,a_4=3,a_5=8,a_6=20,a_7=47,\\ &a_8=107\\ &处理连续4个1的时候,同理的话就有繁琐了,\\ &可以换一种递归思路。\\ &设b_n是有连续4个1的长度为n的位串的总个数。\\ &1^\circ 对于长度为n-1的位串,第n为可选1或者0,共2b_{n-1}种\\ &2^\circ 假设最后5个位置是01111,并且前面n-5个位置里面没有连续4个1\\ &(注意这与第一种情况没有交集,因为第一种情况最后是1的话也是11111)\\ &有2^{n-5}-b_{n-5}种\\ &所以b_n=2b_{n-1}+2^{n-5}-b_{n-5}\\ &推出b_8=48\\ &减去重复计数的8个,最后答案是107+48-8=147\\ \end{aligned} nbit string30an0an10130002n323100an333010an2an=an1+an2+an3+2n3a0=a1=a2=0,a3=1,a4=3,a5=8,a6=20,a7=47,a8=10741bn41n1n1n102bn12501111,n541(,111111)2n5bn5bn=2bn1+2n5bn5b8=488107+488=147
2.求证:对于任意的非零整数n,在n的倍数里面,一定存在一个只包含0和1的数(比如10001,11110001)
证 明 : 不 妨 假 设 n 为 正 整 数 , 考 虑 如 下 n + 1 个 数 : 证明:不妨假设n为正整数,考虑如下n+1个数: nn+1
1 , 11 , 111 , 111...111 1,11,111,111...111 1,11,111,111...111
因 为 上 面 n + 1 个 数 除 以 n 的 余 数 最 多 只 有 n 种 可 能 因为上面n+1个数除以n的余数最多只有n种可能 n+1nn
所 以 必 然 有 两 个 数 模 n 同 余 所以必然有两个数模n同余 n
将 这 两 个 数 相 减 即 为 要 求 得 的 数 将这两个数相减即为要求得的数

4.下面这段代码,最后得到的k是多少?
3
这也是可重复组合问题
等价的组合题目是 从n个不一样的数字中选出r个数(可以重复),r就是循环的层数这个比较巧妙,因为每次选出的这r个数升序排列对应循环的一种情况 ( i m , i m − 1 . . . i 1 ) (i_m,i_{m-1}...i_1) (im,im1...i1),(n=3时)比如1,2,1说明 i 1 = 2 , i 2 = 1 , i 3 = 1 i_1=2,i_2=1,i_3=1 i1=2,i2=1,i3=1
然后2,2,1说明 i 1 = 2 , i 2 = 2 , i 3 = 1 i_1=2,i_2=2,i_3=1 i1=2,i2=2,i3=1
所以最后答案是 C n + m − 1 m C_{n+m-1}^m Cn+m1m

新知

1.笛卡尔积满足
∣ A 1 × A 2 × . . . × A m ∣ = ∣ A 1 ∣ ⋅ ∣ A 2 ∣ ⋅ . . . ⋅ ∣ A m ∣ |A_1\times A_2\times...\times A_m|=|A_1|\cdot |A_2|\cdot ...\cdot|A_m| A1×A2×...×Am=A1A2...Am

2.容斥原理(principle of inclusion-exclusion,也叫作subtraction principle)

3.从n个元素(元素各不相同)中选出r个可以重复的元素 的方法
有: C n + r − 1 r C_{n+r-1}^r Cn+r1r
(可以想象要选出r本书,我们放入n-1个立书架(隔板))
比如r=6,n=4时:
** | * | | ***
3个隔板把书分成4种类型,上图中表示从第一种类型中选2本,从第二种类型中选1本,从第四种类型中选3本。

4.假设有n个物体,k个箱子(箱子可以空)
(1)不同类型的物体放进不同类型的箱子里
设每个箱子放 n i 个 n_i个 ni,则由乘法原理,得方法数目:
n ! n 1 ! n 2 ! . . . n k ! n!\over{n_1!n_2!...n_k!} n1!n2!...nk!n!
(2)不同类型的物体放进相同类型的箱子里
公式比较复杂,可以用穷举法
S ( n , j ) 表 示 把 n 个 不 同 类 型 的 物 体 放 进 j 个 箱 子 , 且 箱 子 都 不 能 空 S(n,j)表示把n个不同类型的物体放进j个箱子,且箱子都不能空 S(n,j)nj
则方法数目: ∑ j = 1 k S ( n , j ) \displaystyle\sum_{j=1}^kS(n,j) j=1kS(n,j)
(3)相同类型的物体放进不同类型的箱子里
相当于第3点中的插隔板,方法数目:
C n + k − 1 k C_{n+k-1}^k Cn+k1k
(4)相同类型的物体放进相同类型的箱子里
这个也是穷举法呀(无奈)
比如把6个相同类型的物体放进4个相同类型的箱子
可以如下穷举:

6
5 1
4 2
4 1 1
3 3
3 2 1
3 1 1 1
2 2 2
2 2 1 1
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 离散数学及其应用是一门研究离散结构和离散对象的数学学科,它在计算机科学、信息科学、通信工程、运筹学等领域有着广泛的应用。离散数学的研究内容包括图论、集合论、逻辑、代数、组合数学等。它的应用范围涉及到计算机算法、网络通信、密码学、人工智能等多个领域。 ### 回答2: 离散数学是研究离散结构和离散对象的数学分支,其应用广泛且重要。它主要关注离散的而非连续的数学结构,如集合、函数、图论、逻辑和代数等。离散数学通常用于计算机科学、信息科学和数学物理学中。 离散数学的应用十分广泛。首先,在计算机科学中,离散数学是构建和分析算法的基础。算法设计者需要使用离散数学的原理来解决问题,如确定性有限自动机、图算法、排列组合和概率等。 其次,在信息科学中,离散数学被用于密码学和信息安全领域。离散数学可以描述和分析密码系统的强度和安全性,如差分隐私、扩散和置换等。 此外,离散数学还有很多实际应用。例如,在网络和通信领域,离散数学被用于分析和设计通信协议和网络拓扑。在运筹学和优化领域,离散数学被用于解决资源规划、调度和最优化等问题。在知识工程和人工智能领域,离散数学被用于知识表示、推理和机器学习等。 总而言之,离散数学是一个十分重要且有广泛应用的数学分支。它的理论和方法对许多领域的问题都具有重要意义,不仅为解决实际问题提供了数学工具,也为学术研究提供了理论基础。 ### 回答3: 离散数学是研究离散结构和离散量的数学分支,是数学的一个重要分支领域。它的应用广泛,涉及计算机科学、信息技术、运筹学、计算数学、密码学等多个学科。 在计算机科学中,离散数学是计算机科学的基础。离散数学为计算机科学提供了算法分析、复杂度理论和数据结构等重要的数学工具。例如,图论是离散数学的一个重要分支,它为计算机网络、编译原理和并行计算等领域提供了理论基础。另外,离散数学还为计算机科学中的逻辑、离散数论、离散概率论以及随机过程等提供了数学证明和分析方法。 在信息技术领域,离散数学被广泛应用于密码学和信息安全中。离散数学中的组合数学、数论以及有限域理论等内容,为密码学提供了重要的工具和方法。离散数学的一些概念,如置换、排列组合、哈希函数和RSA算法等,被广泛应用于数据加密和信息安全领域。 此外,离散数学还在运筹学、计算数学和图像处理等领域发挥着重要作用。运筹学是研究最优化问题的学科,其中很多问题可以归结为离散优化问题。离散数学提供了图论、网络流、线性规划等数学工具来解决这些问题。同时,在计算数学中,离散数学为数值计算和算法分析提供了基础。在图像处理中,离散数学中的排列、矩阵理论和变换等概念被广泛应用于图像的表示、压缩和处理等算法。 总的来说,离散数学及其应用领域众多,离散数学的理论和方法为计算机科学、信息技术、运筹学、计算数学和图像处理等领域提供了重要的工具和思维方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值