<学习笔记> 关于错排列
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])\)