拓扑排序

 

  • 预备知识

深搜(DFS)广搜(BFS)

  • 定义

对一个有向无环图(Directed Acyclic Graph 简称DAG) G进行拓扑排序,

是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。

通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。

简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。 

                                                                                                                 ——某度百科

人话:现在有一张DAG 一些点之间有有向边

          我们认为一条边的起点排在它的终点前面【显然没有入度的点最优先

          按这样的顺序来遍历或对这个图做操作

 

一般操作:

输入时记录出度入度 

从入度为零的点下手 删掉它 并把它所连的点入度减一

这样去掉所有的链 然后对剩下的环做操作

 

题目暗示:

每个点只有一个目标点

 

相关题目:

洛谷 P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 【好奇怪的名字

拓扑排序 + 记忆化搜索

先删链 然后环上点的答案就是环的大小

链上的点最后记忆搜

 

noip2015 d1t2 message 链接

一开始非输入层神经可以先把阈值减掉 然后就是裸拓扑了

 

洛谷  P2597 [ZJOI2012]灾难 【感谢一位好心的陌生人

 

posted @ 2018-06-18 10:38  hjmmm  阅读(136)  评论(0编辑  收藏  举报