!n 错排
错位排列(Derangement)的定义
错位排列(Derangement)是指一个排列中,没有任何一个元素出现在其原始位置的排列方式。例如,对于集合 ( {1, 2, 3} ),其所有排列为:
- ( (1, 2, 3) )(不是错位排列,因为所有元素都在原位)
- ( (1, 3, 2) )(不是错位排列,因为 1 在原位)
- ( (2, 1, 3) )(不是错位排列,因为 3 在原位)
- ( (2, 3, 1) )(是错位排列)
- ( (3, 1, 2) )(是错位排列)
- ( (3, 2, 1) )(不是错位排列,因为 2 在原位)
因此,( {1, 2, 3} ) 的错位排列数是 2。
错位排列数的数学表示
错位排列数通常记作 ( !n ) 或 ( D_n ),表示 ( n ) 个元素的错位排列数量。其数学性质如下:
1. 递推关系
错位排列数满足以下递推关系:
[
!n = (n - 1) \times (!(n - 1) + !(n - 2))
]
初始条件:
- ( !0 = 1 )(空排列视为一个有效的错位排列)
- ( !1 = 0 )(单个元素无法错位排列)
递推解释:
- 假设第 ( n ) 个元素不能放在第 ( n ) 个位置,那么它可以放在 ( n-1 ) 个其他位置。
- 如果第 ( n ) 个元素和第 ( k ) 个元素交换位置,剩下的 ( n-2 ) 个元素需要错位排列(( !(n-2) ) 种方式)。
- 如果第 ( n ) 个元素放在第 ( k ) 个位置,但第 ( k ) 个元素不能放在第 ( n ) 个位置,则剩下的 ( n-1 ) 个元素需要错位排列(( !(n-1) ) 种方式)。
2. 通项公式
错位排列数可以用容斥原理计算:
[
!n = n! \left( 1 - \frac{1}{1!} + \frac{1}{2!} - \frac{1}{3!} + \dots + (-1)^n \frac{1}{n!} \right)
]
或者:
[
!n = \left\lfloor \frac{n!}{e} + \frac{1}{2} \right\rfloor
]
其中 ( e ) 是自然对数的底数(约 2.71828),( \lfloor \cdot \rfloor ) 表示向下取整。
3. 与 ( \frac{n!}{e} ) 的关系
由于:
[
!n \approx \frac{n!}{e}
]
并且:
[
!n = \left\lfloor \frac{n!}{e} + \frac{1}{2} \right\rfloor
]
因此,错位排列数 ( !n ) 是最接近 ( \frac{n!}{e} 的整数。
错位排列数的性质
-
增长速度:
- 错位排列数 ( !n ) 的增长速度与 ( n! ) 相同,但略小(约为 ( \frac{n!}{e} ))。
- 当 ( n \to \infty ),( \frac{!n}{n!} \to \frac{1}{e} \approx 0.367879 )。
-
模运算性质:
- 由于 ( !n ) 通常非常大,计算时通常需要取模(如本题的 998244353)。
- 递推关系 ( !n = (n - 1) \times (!(n - 1) + !(n - 2)) \mod P ) 可以高效计算。
-
与排列数的关系:
- 错位排列数是排列数的子集,即 ( !n \leq n! )。
- 当 ( n \geq 1 ),( !n = n! - \text{至少有一个元素在原位的排列数} )。
错位排列的应用
-
概率问题:
- 在信封问题(Derangement Problem)中,假设 ( n ) 封信随机放入 ( n ) 个信封,求所有信都放错的概率。这个概率是 ( \frac{!n}{n!} \approx \frac{1}{e} )。
-
密码学:
- 某些加密算法需要构造错位排列,以确保没有元素保持不变。
-
组合数学:
- 错位排列是排列计数的重要例子,常用于研究限制性排列。
示例
计算 ( !4 ):
- ( !0 = 1 )
- ( !1 = 0 )
- ( !2 = (2 - 1) \times (!1 + !0) = 1 \times (0 + 1) = 1 )
- ( !3 = (3 - 1) \times (!2 + !1) = 2 \times (1 + 0) = 2 )
- ( !4 = (4 - 1) \times (!3 + !2) = 3 \times (2 + 1) = 9 )
验证:
- 4! = 24
- ( \frac{24}{e} \approx 8.829 )
- ( \left\lfloor 8.829 + 0.5 \right\rfloor = 9 ),与 ( !4 = 9 ) 一致。
总结
- 错位排列数 ( !n ) 是排列中没有任何元素在原始位置的排列方式数。
- 递推关系:( !n = (n - 1) \times (!(n - 1) + !(n - 2)) )
- 通项公式:( !n = n! \sum_{k=0}^n \frac{(-1)^k}{k!} )
- 近似公式:( !n \approx \frac{n!}{e} ),且 ( !n = \left\lfloor \frac{n!}{e} + \frac{1}{2} \right\rfloor )
- 应用:信封问题、密码学、组合数学等。
本题的解法正是利用递推关系计算 ( !n \mod 998244353 ),避免了直接计算 ( n! ) 的不可行性。
浙公网安备 33010602011771号