@whuber答案的优雅给我留下了深刻的印象。老实说,我必须熟悉新概念才能遵循他的解决方案中的步骤。在花了很多时间之后,我决定发布我得到的东西。因此,下面是他已经接受的回应的训诫性注释。这样,就不会尝试独创性了,我的唯一目标是提供一些附加的定位点,以遵循其中涉及的某些步骤。
所以就这样...
2 n
2.我们可以推导错位公式吗?
ñ
d(n )= (n − 1 )[ d(n − 2 )+ d(n − 1 )] =
= nd(Ñ - 2 )- d(n − 2 )+ nd(n − 1 )− d(n − 1 )
d(n )- nd(n − 1 )= − [ d(n − 1 )− (n − 1)d(n - 2 )]
现在注意到该方程式的LHS与括号中RHS的零件之间的平行性,我们可以递归继续:
d(n )- nd(n − 1 )= − [ d(n − 1 )− (n − 1)d(n − 2 )] =
= (− 1 )2[ d(n − 2 )− (n − 2)d(n - 3 )] = ⋯ = (- 1 )n − 2d(2 )− 2d(1 )
d(n )= nd(n − 1 )+ (− 1 )ñ
向后工作:
d(2 )= 1
d(3 )= 3d(2 )− 1 = 3 * 1− 1
d(4 )= 4d(3 )+ 1 = 4 * 3 * 1− 4+ 1
d(5 )= 5d(4 )− 1 = 5 * 4 * 3 * 1− 5 * 4+ 5− 1
d(6 )= 6d(5 )+ 1 = 6 * 5 * 4 * 3 * 1− 6 ∗ 5 ∗ 4+ 6 * 5− 6+ 1 =
= 6 !(12− 13 * 2+ 14 * 3 * 2− 15 * 4 * 3 * 2+ 16 !) =
= 6 !(16 !− 15 !+ 14 !− 13 !+ 12 !− 11 !+ 1 )
所以总的来说,
d(n )= n !( 1 − 1 + 12 !− 13 !+ 14 !+ ⋯ + 1n !)
ËXx = − 1
d(ñ )≈ ñ !Ë
a ,b ,c ,d,ē ,˚Fb ,d,a ,c ,f,Ëa -> b -> d -> c after which it returns to a
e -> f
(abdc )(ef )
4
(2 n )!2 n2ñn !p (2 n )= (2 n )!2ñn !
对于R
模拟:
1。 paired <- function(x) crossprod(x[x] - 1:length(x))==0
x[x]
8Paul -> Maria
Maria -> Paul
Max -> John
John -> Max
Max -> Maria
Maria -> Max
Paul -> John
John -> Paul
i
1个
2。 good <- function(x) sum(x==1:length(x)) == 0
X(1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 )
3.k.paired <- sum(i.good & i.paired)
是否排除了图中未配对的成对排列,如上图所示:
v <- c(1,2,3,4,5,6,7,8)
w <- c(1,2,3,5,4,6,7,8)
(c("is v paired?" = paired(v), "is w paired?" = paired(w),
"is v a derang?" = good(w), "is w a derang?" = good(w)))
# not all paired permutations are derangements.