![](/img/trans.png)
[英]Algorithm for finding polygon vertices for a given set of overlapping rectangles
[英]Finding a Minimal set of vertices that satisfy the given constraints
注意:不需要形式证明或任何东西,只是算法的一般概念,我会自己更深入地了解 go。
给定一个有向图: G(V,E)
,我想找到最小的顶点集T
,这样对于T
中的每个顶点t
,以下边不存在: {(t,v) | for every v outside t}
对于O(V+E)
中{(t,v) | for every v outside t}
换句话说,允许t
从T
之外的顶点获取边,但不允许发送。
(您可以将其演示为电话,允许从外面呼叫我,它是免费的,但不允许从我身边呼叫他们)
我看到这个问题非常接近或类似于在有向图中查找所有强连通分量 (scc),其时间复杂度为O(V+E)
,我正在考虑构建一个新图并运行该算法,但不是完全确定。
主要思想是将 G 的每个强连通分量 (SCC) 收缩为单个顶点,同时对收缩图中的每个顶点(G 的压缩)收缩了多少顶点进行评分。 结果图是有向无环图。 答案是出度为 0 的顶点中得分较低的顶点。
由于对边的限制,答案结构是强连通分量的并集,您可以证明由于最小限制,答案中只涉及一个 SCC。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.