组合数之错排数

错排数的定义

  • 假设有n个元素,n个位置,每个元素都有自己唯一的正确位置,问,所有元素都处在错误位置有多少可能

递推公式

  • f(n) f ( n ) 表示n个元素的错排种数,则 f(n+1)=n(f(n)+f(n1)) f ( n + 1 ) = n ∗ ( f ( n ) + f ( n − 1 ) )
  • 解释如下
    • 假设已经有n个元素错排,新来一个元素,那么该元素处于已有的n个元素的位置都可以实现错排,所以有 nf(n) n ∗ f ( n ) 种可能
    • 假设已有n个元素,其中n-1个是错排的,另外一个是正确的,这种情况有n种。新来一个元素,这个元素唯有跟那个正确元素交换位置才可以实现n+1个元素的错排。所以有 nf(n2) n ∗ f ( n − 2 ) 种可能
  • 为什么没有其他可能?
    • 因为对于n+1个元素的某个错排来说,假设第 n+1 n + 1 个元素处于第i位( in+1 i ≠ n + 1 ),然后第 n+1 n + 1 个位置有第k个元素,那么要么 k=i k = i 或者 ki k ≠ i ,没有其他可能情况

ACM题

  • hdu2049

你可能感兴趣的:(算法,数学)