让我们绘制N个没有边缘的垂直图。从给定边缘构建DAG
让我们边的名单:
x1 y1
x2 y2
x3 y3
.
.
.
xk yk
我们必须从1处理所有边缘到k。 我们不得不说,如果第x个边缘正在循环图。如果不是,请将其添加到图表中。
如何有效地做到这一点?我的意思是不要检查DFS是否第x个边缘每次都制作循环图。
有什么更快的? 这是波兰SPOJ问题
https://pl.spoj.pl/problems/XIWTPZF/
感谢您的任何帮助。 Chris
这通过去除实际添加的低效和删除对象模型的边缘可以节省一些时间,这就需要去耦和删除对象。此外,您还可以获得订单检查清单以及对象模型,因此最后只需循环检查订单检查清单即可。此时,您可以移除未添加的项目,并且您有最终的列表。如果您在检测阶段使用接口并在使用阶段使用单独的接口,那么您不必为使用阶段保留较大的接口。 – 2011-05-31 22:09:51