【问题标题】:Facebook Puzzle(Probability)Facebook 拼图(概率)
【发布时间】:2013-08-27 15:32:55
【问题描述】:

以下是 Facebook 拼图之一: 我无法理解如何进行此操作。

给你 C 个容器、B 个黑球和无限数量的白球。您希望以每个容器至少包含一个球并且选择白球的概率大于或等于 P% 的方式在容器之间分配球。选择是通过随机挑选一个容器,然后从中随机挑选一个球来完成的。

找到实现这一目标所需的最少白球数量。

输入

第一行包含 1

下面的每一行都包含三个整数 C B P 由一个空格分隔 1

输出

对于每个测试用例输出一行包含一个整数 - 所需的最小白球数。 (测试将确保使用有限数量的球是可能的)

样本输入

3 
1 1 60 
2 1 60 
10 2 50 

样本输出

2 
2 
8 

解释

在第一个测试用例中,如果我们将 2 个白球和 1 个黑球放入盒子中,则选择白色球的概率为 66.(6)%,大于 60%

在第二个测试用例中,将一个白球放在一个盒子里,白色+黑色放在另一个盒子里,我们得到 0.5 * 100% + 0.5 * 50% = 75%

对于第三个测试用例,请记住我们希望每个盒子中至少有一个球。

【问题讨论】:

  • 我们为什么要把黑球放在盒子里?然后我们总是可以在每个盒子里只有一个球并且总是获得概率。在当前的问题定义中,我不明白为什么这是不可能的。
  • @VoronoiPotato 可能我们必须放置所有的黑球。
  • 看起来这可能行得通:尽可能均匀地分配黑色,然后添加白色直到满足所需的概率。对于给定的排列,概率为P = (1 / numContainers) * (pW(1) + pW(2) + ... + pW(numContainers)),其中pW(i) = probability of picking a white ball from container i。但是我没有证据。
  • @IVlad 我认为这对于 2 个容器、8 个黑球和最少 21% 来说是失败的。
  • @DavidEisenstat:您是否考虑将所有黑球(或至少一个)放入一个容器中,将一个白球放入另一个容器中?因为这给了我 50% 的概率。

标签: facebook algorithm probability


【解决方案1】:

您可能必须执行以下操作:

初始编号白球数 Nw = 1。

  1. 给定白球的个数 Nw,找出最有可能捡到白球的配置。

  2. 检查这个概率是否大于P。

  3. 如果是,那么 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 个容器应该有白球和黑球.只是猜测......

【讨论】:

    猜你喜欢
    • 2015-01-16
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多