从 xiaodao 空间上看到的……
感觉蛮好玩的于是就试了试。xiaodao 最后的那个连乘真的没有想到,我只会暴力积分……
Problem
d 维单位球体中随机选 n 个点,到球心 k 远点距离球心的期望是多少?
Solution
n 个点,随机选一个为 k 远点,再选 k−1 个点为前 k−1 远点,方案数为 (1,k−1n) 。
(维基百科) d 维单位球体的体积是
Vd(R)=Γ(2d+1)π2dRd=CdRd
其中 Cd 为与 d 相关的常数。
根据“维”的定义,我们有距离为 r 的点的密度为
ρ(r)=Vd(1)V′_d(r)=drd−1
于是 k 远点的期望是:
====(1,k−1n)∫∗01rρ(r)(rd)k−1(1−rd)n−kdrd(1,k−1n)∫01rkd(1−rd)n−kdrnd(k−1n−1)∫01rkd∑∗i=0n−k(in−k)(−rd)idrnd(k−1n−1)∑∗i=0n−k(in−k)(−1)i∫01rkd+iddrnd(k−1n−1)∑∗i=0n−kkd+id+1(in−k)(−1)i
这样做的值应该是没错的,但是精度误差特别大 >__<
于是我们还需要继续化简……
我对如何操作二项式已经忘得差不多了,于是无意间拿起 CM 居然看到了这货:
对于函数 f(x) ,定义 Δ(0)f(x)=f(x) 。然后可以定义 Δ(n)f(x)=Δ(n−1)f(x+1)−Δ(n−1)f(x) ,然后可以得到:
Δ(n)f(x)=∑_k(kn)(−1)n−kf(x+k)
注意到 Δ(n)f(x) 的表达式与要化简的那个式子中的比较像,考虑令 f(x)=x1 , 用 (−1)n−kΔ(n−k)f(x) 来代替 ∑ 。
==nd(k−1n−1)∑∗i=0n−kkd+id+1(in−k)(−1)in(k−1n−1)(−1)n−k∑∗i=0n−kk+i+d1(in−k)(−1)n−k−in(k−1n−1)Δ(n−k)f(k+d1)(−1)n−k
由于 f(x)=x1 ,我们又有:
Δ(1)f(x)Δ(2)f(x)Δ(3)f(x)===x2ˉ−1x3ˉ2x4ˉ−6
其中 xkˉ=∏i=0k−1(x+i)
可以找出规律(然后归纳法)
Δ(n)f(x)=xn+1ˉ(−1)nn!
继续代入:
=======n(k−1n−1)Δ(n−k)f(k+d1)(−1)n−kn(k−1n−1)(k+d1)n−k+1ˉ(−1)n−k(n−k)!(−1)n−k(k−1)!(k+d1)n−k+1ˉn!(k−1)!∏∗i=0n−k(k+i+d1)n!∏∗i=0n−k(k+i+d1)∏∗i=0n−k(n−i)∏∗i=0n−kk+i+d1(n−i)∏∗i=kni+d1i∏∗i=kndi+1di
这样化简的结果和 xiaodao 的方法是一样的……真是太开心了 @_@ ……
Epilogue
这推导真是恶心死我了……
学的东西都忘光了怎么破……
写的公式太多了感觉会跪? @dyh 求查错……
Markdown 里的替换
大概是为了防止 TeX 里面的 _ 和 ^ 被转义而写的。由于要改多次……还是先记下来吧。
\([^\]\)^ -> \1\^
\([^\]\)_ -> \1\_