“排列与组合”笔记

排列与组合

8/9/2016 9:00:48 PM by 林维

1. 基本计数原理

设集合S的 一个划分 即为S的子集的集合S1, S2, … ,Sm,使得S的每一个元素恰好是这些子集之一的元素:

  • S = S1 ∪ S2 ∪ … ∪ Sm

  • Si ∩ Sj = ∅ (i ≠ j)

子集S1, S2, … , Sm称为该划分的部分。

集合S的元素个数表示为|S|, 又是称之为S的大小。

加法原理

设集合S划分为部分S1, S2, … , Sm 。则S的元素个数可以通过找出它的每一个划分的个数来确定,我们把这些数相加,得到:

  • |S| = |S1| + |S2| + … + |Sm|

如果集合S1, S2, … , Sm可以重叠,那么要使用一个更深刻的原理(容斥原理)来计数S中的元素个数。

用选择的术语叙述加法原理的形式为 : 如果有p种方法能够从一堆中选择一个物体,而有q种方法能从另一堆中选择一个物体,那么从这两堆中选择一个物体的方法共有p+q种。这种形式的加法原理可以很容易推广到多堆。

乘法原理

令S是元素的序偶(a, b)的集合,其中一个元素a来自大小为p的一个集合,而对a的每个选择,元素b存在着q种选择。于是,S的大小为p × q :

  • |S| = p × q

乘法原理的第二种形式: 如果一项任务有p项结果,而不论第一项任务的结果如何,第二项任务都有q个结果,那么,这两个任务连续执行就有p×q个结果。

减法原理

令A是一个集合,而U是包含A的更大的集合。设

  • B = ~A = {x ∈ U ; x ∉ A};

是A在U中的补。那么A中的元素个数|A|由下列法则给出:

  • |A| = |U| - |B|

在应用减法原理中,集合U通常是某个自然的集合,包括讨论中所有元素的(即所谓的泛集)。使用减法原理只有当对U中的元素计数和对|~A|中元素计数比对A中元素计数容易时才有意义。

除法原理

令S是一个有限集,它以下述方式被划分成k部分,每一部分包含相同数目的元素。此时,划分中的部分的数目由下述公式给出:

  • k = |S| / (在一个部分中的元素个数)

于是,如果我们知道S中元素个数以及各部分所含元素的相同的个数,则可以确定部分的数目。

集合的排列

令r是正整数。 我们把n个元素的集合S的一个r-排列理解为n个元素中的r个元素的有序摆放。

我们用 P(n, r) 表示n个元素集合的r-排列的数目。如果 r > n ,则 P(n, r) = 0 。显然,对每一个正整数 n, P(n, 1) = n 。一个n-元素集合S的一个n-排列被更简单地称为S的一个排列或n个元素的一个排列。于是,集合S的一个排列就是以某种顺序列出S的所有元素。

定理 : 对于正整数n和r ,r ≤ n ,有 P(n, r) = n × (n - 1) × … × (n - r + 1)

定义n!(读作n的阶乘)为 n! = n × (n - 1) × … × 1 。并约定0! = 1 。于是我们可以写成: P(n, r) = n! / (n-r)!

对于n≥0,定义P(n, 1)为1,正好与r = 0时的公式一致。n个元素的排列数为 P(n, n) = n! / 0! = n!

我们把元素的排列看成一条线,称之为线性排列,或线排列。如果两个排列的元素相同而且排列次序也相同,那么就是两个相同的排列,只能算作一种排列。

从集合S={a1, a2, … , an}的n个不同元素中,取出r个元素按照某种次序(如逆时针)排成一个圆圈,称这样的排列为圆排列,或循环排列。

定理 : n个元素的集合的循环r-排列的个数由P(n, r) / r = n! / (r * (n - r)!)给出。特别的,n个元素的循环排列的个数是(n - 1)! 。

集合的组合

令r为非负整数。我们把n个元素的集合S的r-组合理解为从S的n个元素中对r个元素的无序选择。换句话说,S的一个r-组合是S的一个子集,该子集由S的n个元素中的r个组成,即S的一个r-元素子集。

如果用C(n, r)表示n-元素集的r-组合的个数。特别地,C(0, 0) = 1。

定理 : 对于 0 ≤ r ≤ n, P(n, r) = r! × C(n, r) 。因此 C(n, r) = n! / (r! × (n - r)!)。

多重集的排列

如果S是一个多重集,那么S的一个r-排列是S的r个元素的一个有序排放。如果S的元素个数是n个(包括重复元素),那么S的n-排列也将称为S的排列。

定理 : 令S是一个多重集,它有K个不同类型的元素,每一个元素都有无限重复次数。那么,S的r-排列的个数为Kr

如果S的k个不同种类是元素的重复数均至少为r,那么定理还是成立的。

定理 : 令S是一个多重集,有K个不同类型的元素。各元素的重数分别是n1,n2, … ,nk 。设S的大小为n = nk + nk + 。。。 + nk 。 则S的排列数等于 n! / (n1! n2! … nk!)

定理 : 令n是一个正整数,并令n1, n2, … , nk是正整数且n = n1 + n2 + … + nk 。将n个元素的集合划分成k个被做标签的盒子B1 , B2, … , Bk的方式数为n!/(n1! n2! … nk!) 。 其中盒1含有n1个元素,盒2含有n2个元素,… , 盒k含有nk个元素。

如果这些盒子不被做标签,那么划分的个数是:n!/(k! n1! n2! … nk!)

多重集的组合

如果S是一个多重集,那么S的r-组合是S中的r个元素的一个无序选择。因此,S的一个r-组合本身就是就是一个多重集 —— S的一个子多重集

定理 : 令S为具有k种类型元素的一个多重集,每种元素具有无限的重复数。则S的r-组合的个数等于C(r + k - 1, r) = C(r + k - 1, k - 1) 。

可以证明,S的r-组合的个数等于方程 x1 + x2 + … + xk = r 的解的个数,其中这些解x1, x2, … , xk都是非负整数。而这些解的个数等于两种不同类型元素的多重集 T = {r · 1, (k - 1) · 0}的排列的个数形同。

如果S中的K种元素的重复数都不小于r,定理仍然成立。

假设在r-组合中,

  • 每种类型的元素个数都有一个下界b1, b2, … , bk

  • 则可引入新的变量y1 = x1 - b1, y2 = x2 - b2, … , yk = xk - bk

  • 诸xi的下界能够满足当且仅当这些yi是非负的;

  • 此时原方程x1 + x2 + … + xk = r 可以改写为y1 + y2 + … + yk = r - b1 - b2 - … - bk = *r

  • 新方程的非负整数解个个数为C(*r + k - 1, k - 1) = C(*r + k - 1, *r)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值