组合数学(1)

您所在的位置:网站首页 两两配对排列组合公式 组合数学(1)

组合数学(1)

2024-07-09 03:07| 来源: 网络整理| 查看: 265

组合数学(1)----错位排列

整理自Richard A.Brualdi的《组合数学》

1.定义

如果定义全排列 1~n, 那么 一个排列满足 任意的i都满足a[i]!=i,称之为错位排列。 定义集合元素个数为n的错位排列个数为\(D_n\) 比如这些问题: 一个聚会上,10位绅士查看他们的帽子。有多少种方式使得这些绅士中没有人能够拿到他们最开始的帽子? 把一个单词打乱,多少种可能新单词和旧单词每一位都不一样? 诸如此类。

2.递推公式

错位排列有两种递推公式 第一: \(D_n = (n-1)(D_{n-1}+D_{n-2})\) 第二: \(D_n = nD_{n-1}+(-1)^{n}\)

其中1,2式子均满足\(D_1 = 0,D_2 = 1\)

下面给出《组合数学》中的证明: 假设\(n >=3\),考虑\(\{1,2...,n\}\)的\(D_n\)个错位排列 来看看第一个位置的情况: 它可以是除1以外的任何数字,那么一共有\(n-1\)种情况并且每一种情况所产生的排列数都应该相同,我们设为\(d_n\) 也就是说 \(D_n = (n-1)d_n\) 现在来看看\(d_n\): 因为第1个位置可以是除1以外的任何数,并且产生排列数相同。 出于方便,我们假设第1个位置的数是2: 确定了第一个位置之后我们发现只需要讨论第二个位置是不是1这是一个特殊的点。

如果第2个位置是1,那接下来的\(n-2\)个位置等价于n个元素中有两个元素调换了位置。 那我们可以把他们踢出去,他们已经不影响问题了。 而剩下的元素将继续进行错位排列,也就是 \(D_{n-2}\)。

如果第2个位置不是1,这时候来重新陈述一下问题: 第2个位置不能是1,第3个位置不能是3,第4个位置不能是4.....第n个位置不能是n 这个问题是不是似曾相识? 是的,又是一个错排,这个错排只少了一个位置,所以他是\(D_{n-1}\)。

得到:\(d_n = D_{n-1}+D_{n-2}\) 联立之前的式子就是\(D_n = (n-1)(D_{n-1}+D_{n-2})\) 再将这个式子不断地递归求解就会得出\(D_n = nD_{n-1}+(-1)^{n}\)

3.通项公式

先直接给出结论(uysy这个也没啥用,时间复杂度也是O(n)的) \(D_n = n!(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}+...(-1)^n\frac{1}{n!})\) 这个问题需要用到容斥定理的一个结论。 之后在容斥定理的总结中给出(莫比乌斯反演真的看不懂啊* ^ *)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3