通过skiena理解乐透程序逻辑

时间:2012-10-31 12:23:40

标签: algorithm

我正在从以下位置阅读文章。这是文本片段表单文档。

Link

  

找到一套可以保证最低票数的问题   胜利不是一件轻而易举的事。鉴于P中的R个结果将来自   算命先生,不难看出有NCP   =(N/ P!)/(N-P)!算命先生集中可能出现的P-子集可能出现在中奖票中。如果我们要从中选择所有的P子集   算命先生设置W次并填写剩余的R-P插槽   任意地,获得的门票组将至少具有W.   每个P子集的出现并保证我们W胜出。但是,这样的   集合不必是最小的,在大多数情况下不是。

     

我们从算命先生的承诺中知道其中一个P子集   将在获奖票中出现。两个P子集可能是   相差小于J数。当出现这种情况时,   据说子集相对于彼此重叠或相互覆盖   共享J号码,只有一个P子集必须在购买   票。使用示例可以最好地说明这种现象。假设   我们正在玩PICK-4乐透,需要一次2/4的胜利。因此R = 4,   J = 2且W = 1。此外,让我们假设算命先生预测   来自一组5个数字的3个数字(即P = 3和N = 5)。我摔倒   P-子集取自算命先生集和任意   填写完成门票,我们将有一套十张门票   这保证了一个2/4的胜利(见图1)。但是,它也是   由于有几个,可以从这个集合中排除一些票   两个数字重叠。例如,子集{3,4,5}是不同的   比{1,3,5}只有一个数字,使用两者都是浪费   购买的门票中的这些。我们可能认为不包括{3,   4,5}将允许失败的可能性,但事实并非如此   因为如果发生{3,4,5},我们将在{1,3,5}中得到'3'和'5'   买来要领奖金!同样,可能会有更多冗余   P-子集。最佳解决方案如图2所示。我们的彩票   问题是找到最小的P子集   算命先生设置保证指定的获胜次数   将重叠次数保持在最低限度。这组P子集   无论使用什么数字,都定义获胜组   完成机票上的R插槽。

我的问题是跟随

  1. 正如作者所提到的“如果所有P-subsets都是从算命套装中取出并随意填写以完成门票,那么我们将有一套十张门票”因为文章表中缺少任何一个帮助我这里10张门票是什么?

  2. 在上面的示例中,如果1和3发生,如果我们没有选择{1,3,5},我们怎么能在这里获胜?

  3. 有人能想出文章中遗漏的图2吗?

  4. 感谢!

2 个答案:

答案 0 :(得分:0)

  1. 以下是10张票的无效列表

    {1, 2, 3, 6}
    {1, 2, 4, 6}
    {1, 2, 5, 6}
    {1, 3, 4, 6}
    {1, 3, 5, 6}
    {1, 4, 5, 6}
    {2, 3, 4, 6}
    {2, 3, 5, 6}
    {2, 4, 5, 6}
    {3, 4, 5, 6}
    
  2. 亩。为了获胜,我们需要匹配4中的2个。所以不是1和3发生的情况,这是一个特定的3组发生的情况,我们只需要匹配其中的2个。

    < / LI>
  3. 我认为这是最佳的。

    {1, 2, 3, 4}
    
  4. 但我并不完全肯定我可以选择4.如果我只允许每张票选3张,那么最佳套装将是:

        {1, 2, 3}
        {2, 3, 4}
    

答案 1 :(得分:0)

这两张票是:

{1,3,5,X}

{2,4,5,X}

其中X是任意选择的数字,不影响解决方案。