我有一个问题听起来像这样: 我们有一个带球的袋子。有R红球,B蓝球和G绿球。 我需要从袋子中找到最小数量的提取物,这样我确信我至少会有相同颜色的K球。
任何人都可以提出任何想法吗?或提示等?
答案 0 :(得分:0)
如果K>max(R,G,B)
则问题无法解决。所以我们假设K <= max(R,G,B)
。
如果您无法控制提取哪个球,那么您最多需要 (即这是一个下限)min(R, (K-1))+min(G, (K-1))+min(B, (K-1))+1
提取,原因很明显:extract { {1}}红球(或所有红球,如果K-1
),然后提取R<K
绿球(或所有绿球,如果K-1
),最后提取G<K
蓝球(或所有蓝球,如果K-1
)。现在剩下至少一个球---因为假设B<K
- 当我们提取它时,我们有max(R,G,B)>=K
个相同颜色的球。 (这显然是最糟糕的情况。)
你显然至少需要K
次提取(这是最好的情况)。
由于您使用K
标记了问题,因此您可能只能随机提取均匀选择的球。在这种情况下,我们可以谈谈在我们最终得到相同颜色的probability
球之前所需的预期提取次数。这是一个有趣的问题。
答案 1 :(得分:0)
你需要确保上键合工作...当我测试上键时,它会吹掉int范围(我使用java)