组合数学(持续更新)

Posted bonely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合数学(持续更新)相关的知识,希望对你有一定的参考价值。


排列与组合


四个基本计数原理


( 1 ) (1) (1) 加法原理: 设集合 S S S 被划分成两两不相交的部分 S 1 S_1 S1, S 2 S_2 S2 S m S_m Sm, 则 S S S的对象数目可以通过确定它的每一个部分的对象数目并如此相加而得到 :
∣ S ∣ = ∣ S 1 ∣ + ∣ S 2 ∣ + . . . + ∣ S m ∣ {\\vert S \\vert} = {\\vert S_1 \\vert} + {\\vert S_2 \\vert} +...+ {\\vert S_m \\vert} S=S1+S2+...+Sm
例如: 从河北到四川可以坐火车或者坐飞机, 坐飞机有 3 3 3 种方法, 坐火车有 4 4 4

方法, 则从河北到四川的方法有 3 + 4 = 7 3+4=7 3+4=7 种方法


( 2 ) (2) (2) 乘法原理 : 加法原理的推论

例如: 从河北到四川第一程需要坐飞机,第二程需要坐火车, 坐飞机有 3 3 3 种方法, 坐火车有 4 4 4

方法, 则从河北到四川的方法有 3 ∗ 4 = 12 3*4=12 34=12 种方法


( 3 ) (3) (3) 减法原理: 令 A A A 是一个集合, 而 U U U 是包含 A A A 的更大集合, 设

A − \\overset{-}{A} A A A A U U U 中的补,那么 A A A 中的对象数目 ∣ A ∣ {\\vert A \\vert} A由以下法则给出 ∣ A ∣ = ∣ U ∣ − ∣ A − ∣ {\\vert A \\vert} = {\\vert U \\vert} - {\\vert \\overset{-}{A} \\vert} A=UA

例如: 计算 1..600 1..600 1..600 中不能被 6 6 6 整除的数字个数

∣ U ∣ = 600 {\\vert U \\vert} = 600 U=600

∣ A − ∣ = 600 6 = 100 {\\vert\\overset{-}{A} \\vert} = \\frac{600}{6}=100 A=6600=100

∣ A ∣ = ∣ U ∣ − ∣ A − ∣ = 600 − 100 = 500 {\\vert A \\vert} = {\\vert U \\vert} - {\\vert \\overset{-}{A} \\vert} = 600 -100 =500 A=UA=600100=500


( 4 ) (4) (4) 除法原理:令 S S S是一个有限集合, 把它划分成 k k k 个部分使得每一部分包含的对象数目相等, 于是, 此划分中的部分数目由下述公式给出:

k = ∣ S ∣ 在 一 个 部 分 中 的 对 象 数 目 k = \\frac{{\\vert S \\vert}}{在一个部分中的对象数目} k=S

例如: 在一排鸽巢中有 740 740 740 只鸽子,如果每个鸽巢含有 5 5 5 只鸽子, 那么鸽巢的数目为 740 5 = 148 \\frac{{740}}{5}=148 5740=148


两道例题:

( 1 ) (1) (1) : 在 0 0 0 10000 10000 10000 中有多少个整数恰好有一位数字是 5 5 5

解法: 通过添加前导 0 0 0 (如 6 6 6 看作 0006 0006 0006 , 25 25 25 看作 0025 0025 0025 , 325 325 325 看作 0325 0325 0325), 可以把 S S S 中的每一个数都当作 4 4 4 位数, 现在我们根据数字 5 5 5 是位于第 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4位从而把集合分成 4 4 4 个集合, 这 4 4 4 个集合中的每一个都含有 9 × 9 × 9 = 729 9\\times9\\times9 = 729 9×9×9=729个整数,从而 S S S 所含有的整数个数等于 4 × 729 = 2916 4\\times729 = 2916 4×729=2916

(根据这个我出了一道题,可以试着练习一下题目链接)


( 2 ) (2) (2): 由数字 1 , 1 , 1 , 3 , 8 1,1,1,3,8 1,1,1,3,8 可以构造出多少个不同的 5 5 5 位数?

解法: 实际上我们只有两种选择, 3 3 3 要放置在哪里(有 5 5 5 种选择), 8 8 8 要放置在哪里(有 4 4 4 种选择),剩下的位置自动由 1 1 1 占位,所以根据乘法原理,答案是
5 × 4 = 20 5\\times4=20 5×4=20


集合的排列


定理 1 1 1: 对于正整数 n n n r r r , r ≤ n r\\leq n rn, 有
P ( n , r ) = n × ( n − 1 ) × ⋯ × ( n − r + 1 ) P(n,r) = n \\times (n-1) \\times \\cdots \\times (n-r+1) P(n,r)=n×(n1)××(nr+1)
并规定 0 ! = 1 0! = 1 0!=1

于是可以写成 P ( n , r ) = n ! ( n − r ) ! P(n,r) = \\frac{n!}{(n-r)!} P(n,r)=(nr)!n!

例题: 将 26 26 26 个字母排序, 使得元音字母 a , e , i , o , u a,e,i,o,u a,e,i,o,u任意两个都不能连续出现,这种排序方法的总数是多少?

解法: 首先排序 21 21 21 个辅音字母, 总共有 21 ! 21! 21! 种方法, 然后将 5 5 5 个元音字母插空到 22 22 22 个位置种,所以答案是

P ( 22 , 5 ) × 21 ! = 22 ! 17 ! × 21 ! P(22,5) \\times 21!= \\frac{22!}{17!} \\times 21! P(22,5)×以上是关于组合数学(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

高考数学一轮复习知识网络(持续更新)

计算数学领域一些期刊(持续更新)

计算数学领域一些期刊(持续更新)

Python数据分析在数学建模中的应用汇总(持续更新中!)

数学建模国赛注意事项(持续更新)

2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 思路及代码实现(持续更新中)