以下是Facebook的谜题之一:
我不明白该怎么做。
你得到了C容器,B黑球和无限数量的白球。要在容器之间分配球,每个容器至少包含一个球,并且选择白球的概率大于或等于p%。选择是通过随机选择一个容器,然后从中随机选择一个球来完成的。
找到实现这一目标所需的最少白球数。
输入
第一行包含1下面的每一个t行包含三个整数c b p,由一个空格1输出
对于每个测试用例输出一行包含一个整数-所需的最少白球数。(测试将确保使用有限数量的球是可能的)
样本输入
3
1 1 60
2 1 60
10 2 50
样本输出
2
2
8
解释
在第一个测试案例中,如果我们在盒子里放两个白球和一个黑球,选择一个白球的概率是66。(6)%,大于60%
在第二个测试用例中,将一个白色球放在一个盒子里,白色+黑色放在另一个盒子里,得到0.5*100%+0.5*50%=75%
对于第三个测试用例,请记住我们希望每个盒子中至少有一个球。
最佳答案
您可能需要执行以下操作:
初始白球数nw=1。
给定白色球的数量,Nw,找到配置,从而获得最大的捡拾白球的概率。
检查这个概率是否大于P。
如果是,则nw是您的答案,否则,递增nw并转到1。
当然,挑战是在步骤1中找到最佳配置。
编辑:问题现在归结为给定的W白色球,B黑球和C容器,找到配置,使最大的概率选择一个白色的球。
P = ( w1/(w1+b1) + w2/(w2+b2) + ... + wc/(wc+bc) ) /c.
Max(P) = Max ( w1/(w1+b1) + w2/(w2+b2) + ... + wc/(wc+bc) )
Given: summation(wi) = W, summation(bi) = B, wi + bi >= 1
我猜配置应该是这样的,如果有n个容器有白色的球,那么至少n-1应该只有1个白色的球,没有黑色的球,并且最多1个容器应该有白色的球和黑色的球。只是一个猜测。。。
关于facebook - Facebook拼图(概率),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18469806/