【问题标题】:Given an amount of sets with numbers, find a set of numbers not including any of the given给定一定数量的数字集合,找到不包括任何给定数字的集合
【发布时间】:2015-04-22 15:11:57
【问题描述】:

给定一组带有数字的集合(例如 0-20),我们被要求找到不包括任何给定集合的 0-20 之间的最大数字集合(它可以包括集合中的数字,但不是整套) 例如:设置最大数 8 并给出集合

{1,2}
 {2,3} 
 {7}
 {3,4}
 {5,6,4},

一个最大解是集合 {1, 3, 5, 6, 8}。 我正在考虑将其表示为一个图,然后将其引入最大独立集问题,但这似乎只有当这些集仅由对组成时才有效,这是不成立的。任何想法?提前谢谢。

【问题讨论】:

    标签: algorithm set max subset


    【解决方案1】:

    为每个集合使用位图,设置适当的位。如果成员少于 32 个,则可以使用 uint32_t。然后可以通过使用特定位图屏蔽所有成员(即所有集合的并集)来计算完整集包含,然后对特定位图使用 xor。如果是子集,结果将全为 0,否则结果将是 Max Independent Set 的成员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多