indeed2017校招在线编程题D: Colored Balls(网测)二

知乎上有同学问了一个算法题目,关于 indeed2017校招在线编程题D: Colored Balls 的解题思路。

题目如下:

There are a number of balls in a box. There are K different colors of balls. There are ai balls of the color i. Mr.T repeats the following procedure:

1.Pick up one ball from the box randomly with equal probaility.

2.Identify the color of the ball.

3.Return the ball to the box.

Calculate the expected number of times Mr.T will pick up a ball from the box before identifying all of the colors of balls in the box.

constrains:

  • 1<= k < =10
  • 1<=ai<=1000

partial credit:

30 points will be given to test cases satisfying k = 2.

 

Input Example #1:

2

5 10

Output Example #1:

3.5000000

Input Example #2:

10

3 6 4 2 5 6 8 3 1 6

Output Example #2:

56.727155406

这道题跟以前有一道颜色球的题不一样,这里的小球掏出来还会放进去(多次拿取之间不相关)。

既然如此,这也就有点几何分布的意思。不过普通几何分布没有这么复杂的情况。

这道题其实是几何分布的推广,某度百科“几何分布”词条的最下面就有关于几何分布推广的解释和例子。

我们先研究一下K=2的情况,毕竟题目里说了,只做好k=2也能拿30分。

 

1.k=2的情况:

某度百科词条“几何分布”最下面的推广1,就是这里k=2(两种颜色)的情况,根据他的解释,我们很快就可以写出数学期望。

E(X) = \sum_{k=2}^{+\infty}{kq^{k-1}p} + \sum_{k=2}^{+\infty}{kp^{k-1}q}

其实不看推广1也能得出这个结论,说白了也就是两个几何分布的和。

我们计算这个式子,利用高等数学里的幂级数求和来计算。

先只算第一部分:

\sum_{k=2}^{+\infty}{kq^{k-1}p} =p \times \sum_{k=2}^{+\infty}{kq^{k-1}} = p \times (\sum_{k=2}^{+\infty}{q^{k}})^{'}

=p \times (\frac{1}{1-q} - 1 - q)^{'} =p \times\left( \frac{1}{\left( 1-q \right)^{2}}-1 \right)

然后两部分相加,注意p+q=1,简化之后最后得到:

E(X)=\frac{1}{pq} - 1

验证一下,当两种颜色的小球个数为[5, 10]时,p = 1 / 3, q= 2/ 3。

带入可得 3.5。

没毛病,直接写代码就可以拿到30分了。

(说白了这30分是考察你的概率论和高等数学啊。)

 

2.k>=2时

我们就这点追求了吗?剩下的分数不要了?

还是得研究一下。

不过研究来研究去,还是解不好,只好去网上搜索相关信息。

既然K=2我们已经搜出来了,是关于几何分布的推广,那么我们继续找关于它的信息就可以了。

果然,有一篇相关的论文,叫做:一类推广的几何分布

这篇论文构造了一个新的分布:多项几何分布。

并讨论了几个特例,其中就有k=2时的二项多项分布,k=3时的三项多项分布。

我们这里要用他的普遍定理:多项几何分布的分布列与期望。

……

先写到这里,后面有时间继续。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值