小游戏双AK了!

280 篇文章 1 订阅

题目

题目描述
已知有 n n n 场比赛,小游戏 A K AK AK 了其中 i i i 场。另外 n − i n-i ni 场,由于他认为题目不成体统,就没有做。

当然小游戏是一个喜欢装弱的人。所以他要截取前 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 1kmn109

思路

式子即
∑ 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=kn(km)(iknm)÷(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=kn(ki)(mkni)÷(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=kn(ki)(mkni)=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 ni 分界线的。

所以答案就是 n + 1 m + 1 {n+1\over m+1} m+1n+1 。这还需要给出代码吗?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值