optimization - 涵盖元素的子集的最小列表
问题描述
给定一个包含元素的集合列表:
[setA: {a, b, e},
setB: {d, e, c}.
setC: {a, d}
]
L
以及需要涵盖的元素列表:[x, y, z, ...]
从 L 中找到最小的集合列表,其并集包含列表中的所有元素L
。
这个问题是否与 Set-Cover 相同(暗示它是 NP-Complete)?或者我是否缺少一些使它易于处理的东西?
假设可以确定元素 x 是否存在于恒定时间内的集合中。
解决方案
你有两个列表。第一个是集合L 1的列表,而第二个是覆盖L 2的元素列表。在多项式时间内从L 1中的每个集合中丢弃所有不在L 2中的元素, 您将得到集合覆盖问题。因此,如果您有一个多项式时间算法来解决您的问题,那么您也将获得 Set Cover 问题的多项式时间答案。
推荐阅读
- r - 将面板网格置于前面
- django - Django(v. 1.11.3) HttpResponse 不返回指定的原因短语
- html - 无法加载角度图像
- html - 网站元素显示在浏览器中,但当我尝试使用检查元素访问它时隐藏
- c++ - 有没有办法根据模板参数的类型在不同的类实现之间进行选择?
- c - 我想让我的 mac 使用 gcc 而不是 clang
- react-native - 安装 react-redux 后,native_modules.gradle 文件将被删除
- javascript - 如何在选择框上成功删除数据消息?
- ios - 如何使用GraphicContext快速获得书法线刷效果
- android - 按钮背景的十六进制颜色 - Kivy