存在一个有N个顶点和M个边的有向无环图。目的是通过最小步数删除所有顶点来破坏图。
一步删除规则:
约束:N,M <= 10 ^ 6,并且图没有自环和环。
答案 0 :(得分:3)
HAROLD N. GABOW的“两处理器调度的几乎线性算法”给出了一种算法。 pdf here。
基本思想是将顶点排序为最小级别(每个级别是如果忽略约束1可以同时删除的所有顶点),然后首先从最高级别删除这些顶点。 / p>
本文提供了更多细节和最优性证明。
编辑
要查看调度与给定问题之间的关系,请考虑调度一组作业。每个作业对应一个顶点。作业的依赖关系对应于有向边。
约束2/3对应于说只有在所有依赖项都已调度后才能调度作业。
约束1相当于说一次只能调度两个作业(即两个处理器的调度系统)。