树上的独立集

关键:如果一个节点是叶子节点,则树上其中的一个最大独立集一定包含该节点。
证明:考虑叶子节点vv与其父亲节点uu,若两个都不属于最大独立集,则我们可以将叶子节点加入形成一个更大的独立集;如果只有叶子节点不属于,那么我们可以选择不将父亲节点加入而将叶子节点加入独立集,此时仍是一个最大独立集。
树上的贪心策略
如果树中还存在一条边,则将该边中属于叶子的节点vv加入最大独立集,删除两个顶点以及这两个顶点所邻接的所有边。重复上述操作,直到树中不存在边,所得集合为树的最大独立集。

树上带权独立集

关键:树中各子树之间没有直接联系,因此可以动态规划求解
近似算法——续
分情况说明:

  • 最大带权独立集为包含根节点,则与其连接的子树的根节点不能选择
  • 最大带权独立集为不包含根节点,则与其连接的子树的根节点可以选,当然也可以不选,取选和不选中最大的。

目标max{OPTin(r),OPTout(r)}max\{OPT_{in}(r),OPT_{out}(r)\},其中:
近似算法——续
近似算法——续

顶点覆盖问题

2倍近似算法:

相关文章:

  • 2021-05-20
  • 2021-10-27
  • 2021-09-20
  • 2022-12-23
  • 2021-07-21
  • 2021-06-07
  • 2021-12-13
猜你喜欢
  • 2021-12-09
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-04
相关资源
相似解决方案