题目
题目描述
已知有
n
n
n 场比赛,小游戏
A
K
AK
AK 了其中
i
i
i 场。另外
n
−
i
n-i
n−i 场,由于他认为题目不成体统,就没有做。
当然小游戏是一个喜欢装弱的人。所以他要截取前 m m m 场的成绩,他自认为那时他还比较弱。而且,他已经提前报告给了校长,说他 A K AK AK 了 k k k 场比赛,这也是必须要成立的,否则他害怕会被开除!
于是问题变成了:如果认为小游戏是在 n n n 场中随机 A K AK AK 了 i i i 场,那么有多大的概率使得前 m m m 场中恰好 A K AK AK 了 k k k 场?
为了进一步装弱,小游戏还决定只输出一个数,那就是对于所有 i i i 的概率的求和。答案保留 3 3 3 位小数。
数据范围与提示
1
⩽
k
⩽
m
⩽
n
⩽
1
0
9
1\leqslant k\leqslant m\leqslant n\leqslant 10^9
1⩽k⩽m⩽n⩽109 。
思路
式子即
∑
i
=
k
n
(
m
k
)
(
n
−
m
i
−
k
)
÷
(
n
i
)
\sum_{i=k}^{n}{m\choose k}{n-m\choose i-k}\div{n\choose i}
i=k∑n(km)(i−kn−m)÷(in)
把阶乘式拆开,可以化出
∑
i
=
k
n
(
i
k
)
(
n
−
i
m
−
k
)
÷
(
n
m
)
\sum_{i=k}^{n}{i\choose k}{n-i\choose m-k}\div{n\choose m}
i=k∑n(ki)(m−kn−i)÷(mn)
对于前面这个东西,大家是否熟悉呢?反正我是完全不熟悉,于是只能从组合意义思考。
我们生成一个 ( n m ) {n\choose m} (mn) 的情况吗,然后看看对 i i i 的哪些取值有贡献。显然就是第 k k k 个被选择物品和第 k + 1 k+1 k+1 个被选择物品之间的间隙。那么考虑间隙的限制条件:第一个间隙(第一个被选择物品之前)非负,其余间隙(包含被选择物品)为正,总和为 n n n,共 m + 1 m+1 m+1 个间隙。
只需要把第一个间隙
+
1
+1
+1,就变成了和为
n
+
1
n+1
n+1 的
m
+
1
m+1
m+1 个正整数解。显然任意一个变量的地位是一样的,那么对于所有情况的某个变量的求和,即
1
m
+
1
\frac{1}{m+1}
m+11 倍所有情况的所有变量的求和,这玩意儿显然是状态数
(
n
m
)
{n\choose m}
(mn) 乘总和
n
+
1
n+1
n+1,故
∑
i
=
k
n
(
i
k
)
(
n
−
i
m
−
k
)
=
n
+
1
m
+
1
(
n
m
)
=
(
n
+
1
m
+
1
)
\sum_{i=k}^{n}{i\choose k}{n-i\choose m-k}=\frac{n+1}{m+1}{n\choose m}={n+1\choose m+1}
i=k∑n(ki)(m−kn−i)=m+1n+1(mn)=(m+1n+1)
仔细想想它的原因是什么呢?其实可以这样想:选了 m + 1 m+1 m+1 个元素,其中第 k + 1 k+1 k+1 个元素是标识 i i i 和 n − i n-i n−i 分界线的。
所以答案就是 n + 1 m + 1 {n+1\over m+1} m+1n+1 。这还需要给出代码吗?