<学习笔记> 关于错排列

1

是做排列计数的时候了解到这个东西:

一开始想的是用容斥原理,先加上全排列,再减去不满足的,再加上重复的,再减去不满足的......

后来发现还涉及到杨辉三角,麻烦死了,时空复杂度也过不去,然后就知道了错排列

2

错排列基本要求是将\(1-n\)这些数分别放在\(n\)个位置上,且位置编号不能与所放的数相同

是排列组合的一个变种,计算的时候采用加法原理。

3

考虑第\(i\)个点与第\(n\)个点的联系。

如果\(n\)放在\(i\)的位置上,那么我们初始把\(i\)也放在\(n\)的位置上。

假如\(i\)就在\(n\)的位置上,那么错排列数就等于\(n-2\)个点的错排列数。

假如\(i\)不在\(n\)的位置上,此时对于除\(n\)外的\(n-1\)个点来说,\(i\)\(n\)是等价的,错排数为\(n-1\)个点的错排数。

同时\(i\)与其他点的情况就在第二种情况中考虑了。

因为\(i\)\(n-1\)个,所以相加再乘\((n-1)\)

那么设\(d[n]\)表示\(n\)个点的错排数,则有:

\(d[n]=(n-1)*(d[n-1]+d[n-2])\)

posted @ 2023-02-16 16:53  curly_6  阅读(127)  评论(3)    收藏  举报