第10章 组合计数基本方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第10章 组合计数基本方法 10章
10.2.3 组合恒等式 本节讨论若干常用的组合恒等式. 例8引入的方格 路径是研究许多组合计数性质的常用模型. 组合恒等式1 C(k,r)=C(k,k-r)(0≤r≤k) 证明 在例8 中令k=m+n,r=m, 即得. 组合恒等式2 C(k,r)=C(k-1,r)+C(k-1,r-1) 证明1 考虑如图10-2所示从(0,0)出发到达(m,n) 的方格路径.
第10章 组合计数基本方法 10章
第10章 组合计数基本方法 章
10.1 基本计数方法 10.2 排列与组合 10.3 排列组合生成算法 习题10 习题
第10章 组合计数基本方法 10章
10.1 基本计数方法
加法法则 如果事件A有m种处理方法, 事件B有n 种处理方法, 则事件"A或者B"的处理方法有m+n种. 【例1】 某学生从3门人文类选修课和2门工程类选 修课中任意选修一门课程的方法数为3+2=5.
第10章 组合计数基本方法 10章
图10-4 (0, 0)出发到达直线x+y=n上诸点
第10章 组合计数基本方法 10章
证明3 根据二项式定理 (x+y)n =C(n,0)xn+C(n,1)xn-1y+ C(n,2)xn-2y2+…+ C(n,n)yn 令其中y=x=1即得 C(n,0)+C(n,1)+…+C(n,n)=2n 证毕 组合恒等式5
第10章 组合计数基本方法 10章
3. 某产品加工需要5道工序, 计算: (a) 这些工序共有多少排法? (b) 其中某个工序必须最先进行, 有多少种排法? (c)其中某个工序不能放在最后, 有多少种排法?
第10章 组合计数基本方法 10章
4. m个男生, n个女生排成一列(m<n), 分别讨论 满足以下条件的排列方法: (a) 所有男生不相邻; (b) n个女生排成一个整体; (c) 男生A和女生B相邻排在一起; (d) 如果排成一个圆圈, 对于(a), (b), (c)三种情 况, 又有多少排法?
第10章 组合计数基本方法 10章
组合恒等式3 C(n+r+1,r)= C(n+r,r)+C(n+r-1, r-1)+C(n+r-2,r-2)+…+C(n,0) 该等式的推导由等式2推广得出, 这里给出其组合 解释. 考虑方格坐标如图10-3所示. 从(0,0)到达终点 (n+1,r)必经过直线x=n上诸点: (n,0),(n,1),(n,2),…,(n,r) (0,0)到达点(n,k)的路径数为 C(n+k,k)(k=0,1,…,r). 由加法法则有:
i ≥1
第10章 组合计数基本方法 10章
【例4】 n=45 000, 求n的因数(能够整除n的正整 数)有多少个? 【例5】 有201人参加乒乓球比赛, 如果采用单循 环淘汰制, 应安排多少场比赛? 【例6】 求比10 000小的正整数中含有数字1的整数 个数. 【例7】 求1000!的末尾零的个数.
第10章 组合计数基本方法 10章
算法10.3-3 由组合{c1,c2,…,cr}生成下一个组合 { for(i=1;i<=r;i++) a[i]=ci;//(a[1],a[2],…, a[r])={c1,c2,…,cr} i=max{j|a[j]<n-r+j}; if((i>=1)&&(i<n-r+1))//满足a[j]<n-r+j 的j存在 {
第10章 组合计数基本方法 10章
5. 求整数1040和2030的公因数个数. 6. 现有产品1000件, 从中抽取3件, 求分别满足以下 要求的方法数: (a) 3件任意抽取; (b) 已知其中共有5件次品, 抽取3件中恰有2件次品; (c) 已知其中共有5件次品, 抽取3件中至少有1件次品.
第10章 组合计数基本方法 10章
图10-5 n=4的词典排列
第10章 组合计数基本方法 10章
算法10.3-2 由排列(p1,p2,…,pn)生成下一个排列的词典算法. {for(i=1;i<=n;i++) a[i]=pi;//(a[1],a [2],…,a[n])=(p1,p2,…,pn) i=max{k|a[k-1]<a[k],k>1}; if(i>1) //满足a[k-1]<a[k]的k存在 {j= max{k|a[i-1]<a[k],k>i-1}; a[i-1]与a[j]交换;
第10章 组合计数基本方法 10章
for(k1=i,k2=n;k1<k2;k1++,k2--)//子序列 (a[i],a[i+1],…,a[n])逆转 { a[k1]与a[k2]交换; } 输出(q1,q2,…,qn)=(a[1],a[2],…,a[n]); } }
第10章 组合计数基本方法 10章
第10章 组合计数基本方法 10章
13. 在本章图10-1中, 设m=n. 在方格坐标的第一象 限中, 直线y=x通过的点为(0,0),(1,1),…, (n,n). (a) 求从(0,0)出发到(n,n)且不穿过直线y=x的路径 条数; (b) 求从(0,0)出发到(n,n)且与直线y=x没有交点的 路径条数. 14. 在2n位二进制位串中, 1和0各有n位. 现要求任 意前k位中0的位数不少于1的位数, 满足该要求的位串 有多少?
n 1 k =1
∑ a k!
k
由序列(an-1,an-2, ,a1)确定(p1,p2, ,pn); ,…,a ,…,p } } 对n=4, 1到4的所有排列共24个, 每个排列及对 应编号序列如表10-1所示.
第10章 组合计数基本方法 10章
表10-1 1到4的所有排列
第10章 组源自文库计数基本方法 10章
第10章 组合计数基本方法 10章
乘法法则 如果事件A有m种处理方法, 事件B有n 种处理方法, 则事件"A与B"的处理方法有m×n种. 【例2】 从集合{1,2,3,4,5}中不重复取两个 数可以组成多少个两位整数? 【例3】 某种高级语言中变量标识符由至多两个字 符组成, 其中首字符必须是字母, 第2个字符可以是 字母或者数字. 设标识符中字母大小写不敏感, 问这 样定义的变量标识符共有多少?
第10章 组合计数基本方法 10章
11. 凸十边形中所有不相邻的顶点之间连接一对角 线, 设这些对角线任意三条不相交. 问该凸十边形内 部有多少交点?有多少条线段? 12. 证明以下组合恒等式并给出其组合解释: C(2n,r)=C(n,0)C(n,r)+C(n,1)C(n,r-1) +…+C(n,r)C(n,0) r≤n
0≤ 2 k ≤ n

C ( n ,2 k ) =
0< 2 k 1≤ n
∑ C (n,2k 1)
第10章 组合计数基本方法 10章
组合恒等式6
C ( m + n + r ) = ∑ C ( m, k )C ( n, r k )
k =0
r
r≤min {m,n}
第10章 组合计数基本方法 10章
第10章 组合计数基本方法 10章
a[i]=a[i]+1; for(j=i+1;j<=r;j++)a[j]=a[j-1]+1; (d1,d2,…,dn)=(a[1],a[2],…,a[r]); 输出(d1,d2,…,dn); } }
第10章 组合计数基本方法 10章
习 题 10
1. 从{1,2,…,20}中取一对数{a,b},使其满足 (a) a-b=5,有多少种取法? (b) 0≤a-b≤5,有多少种取法? 2. 在整数1~100 000之间, 不含数字0的整数有多 少个?含有数字5的整数有多少个?数字5不重复出现 的整数有多少个?
第10章 组合计数基本方法 10章
15. 将r个相同的球放入n个有标号的盒子(n≤r), 要 求每盒不空. 证明其方法数为C(r-1,n-1). 16. 证 明 对 任 意 整 数 n , 可 以 惟 一 的 表 示 为 :
n = ∑ aii! ,0≤ai≤i.
17. 编程实现算法10.3-1. 18. 按照词典法, 编程实现当n给定后, 对所有n阶 排列的枚举. 19. 编程实现当n,r给定后, 对所有n中取r的不重 复组合的枚举.
C ( n + r + 1, r ) = ∑ C ( n + k , k )
k =0
r
第10章 组合计数基本方法 10章
图10-3 到达(n+1, r)必经过直线x=n上诸点
第10章 组合计数基本方法 10章
组合恒等式4 C(n,0)+C(n,1)+…+C(n,n)=2n 证明1 已知n个元素集合的子集有2n个. 这些子集 按照所含有的元素个数k(k=0,1,2,…n)可以分为 (n+1)类. 含有k个元素的子集有C(n,k)个. 由加 法法则即得: C(n,0)+C(n,1)+…+C(n,n)=2n 证毕 证明2 如图10-4所示, 考虑从原点(0,0)到达方格 坐标上直线x+y=n在第一象限所经过的点 (n,0),(n-1,1),(n-2,2),…,(0,n) 的所有路径数.
第10章 组合计数基本方法 10章
【例8】 给定方格坐标如图10-1所示. 从(0,0)开 始, 每次垂直向上或者水平向右移动一格, 最终到达 (m,n)点(m>0, n>0),计算所有可能的路径数.
图10-1 方格坐标
第10章 组合计数基本方法 10章
【例9】 10个球分为三类: 3个红球, 2个蓝球, 5个白球, 颜色相同的球没有区别. 求这10个球的全 排列.
10.3 排列组合生成算法
10.3.1 排列的生成 给定n个不相同元素a1,a2,…,an, 已知其全排列 共有n!种. 考虑如何将这n!个排列枚举出来, 或者按 照要求给出某特定排列. 这里介绍排列生成的序数法 和字典算法.
第10章 组合计数基本方法 10章
算法10.3-1 枚举所有n阶排列的序列法. //按照编号0到(n!-1)枚举所有n阶排列. {for(m=0;m<n!;m++) {由m计算序列(an-1,an-2,…,a1); // m =
10.2 排 列 与 组 合
10.2.1 排列 【例1】 给定数字集合{1,2,3,…,9},从中选 取4个数字构成一个四位数, 要求其中各位互不相同, 可以构成多少个四位数? 【例2】 8个男生和5个女生站成一排, 要求女生互 不相邻, 有多少种站法?
第10章 组合计数基本方法 10章
【例3】 求10 000~59 999之间由不同数字组成的5位 偶数个数. 【例4】 一年有365天. 任意选择n个人(n≤365), 求 其中至少有两个人生日相同的概率. 【例5】 圆周排列.n个有标号的球, 从中不重复地 选取r个, 排列成一个圆圈, 共有多少种排法? 【例6】 从1~300间任取3个不同数, 使得该3个数 之和为3的倍数. 满足以上要求的3数组合方法有多少? 【例7】 某车站有6个入站口, 每个入站口一次仅进 站1人. 一旅行团9人从这6个入口进站, 有多少可能的 进站方案?
第10章 组合计数基本方法 10章
图10-2 到达(m, n)必须经过(m-1, n)或者(m, n-1)
第10章 组合计数基本方法 10章
证明2 从k个元素a1, a2, …, ak中不重复取r个的组合 可以分做两种情况: (1) 取出的r个元素中含有a1 , 这相当于从a2 , a3, …, ak 中不重复取r-1个元素再添加上a1 的组合, 有 C(k-1,r-1)种取法; (2) 取出的r个元素中不含a1 , 这相当于从a2 , a3, …, ak中不重复取r个元素的组合, 有C(k-1,r)种取法. 由加法法则即得: C(k,r)=C(k-1,r)+C(k-1,r-1)
7. A公司有14名员工, 10男4女. B公司有25名员工, 15男10女. 两个公司共同产生一个7人代表团, 其中A 公司有4人, 而7人中男士5位. 问有多少组团方案? 8. 从1到1000中任取3个互不相同的数, 其和为4的 倍数, 有多少种取法? 9. 红球4个, 黄球3个, 白球2个, 相同颜色的球完 全一样, 将这9个球排成一列, 有多少种排法? 10. m个负号和n个正号排成一条直线, 要求负号不 得相邻接, 有多少种排法(n>m-2)?
相关文档
最新文档