图结构练习——推断给定图是否存在合法拓扑序列 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 给定一个有向图,推断该有向图是否存在一个合法的拓扑序列。 输入 输入包括多组。每组格式例如以下。 第一行包括两个整数n,m。分别代表该有向图的顶点数和边数。(n ...
分类:
编程语言 时间:
2017-06-11 13:00:42
阅读次数:
201
一句话题意:求AOV网的拓扑序列,输出按字典序最小的一个。 拓扑排序 : 由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。 (1) 选择一个入度为0的顶点并输出之; (2) 从网中删除此顶点及所有出边。 循环结束后,若输出的顶点数小于网中的顶点数,则输出“有 ...
分类:
编程语言 时间:
2017-05-24 15:54:43
阅读次数:
126
拓扑排序的DFS算法 输入:一个有向图 输出:顶点的拓扑序列 具体流程: (1) 调用DFS算法计算每一个顶点v的遍历完成时间f[v] (2) 当一个顶点完成遍历时,将该顶点放到一个链表的最前面 (3) 返回链表(按照链表次序输出顶点即为顶点的拓扑序列) 样例输入 样例输出 因为对有向无环图进行df ...
分类:
编程语言 时间:
2017-05-04 20:18:44
阅读次数:
171
题目 分析:将先后关系看成边,最后求出字典序最小的拓扑序列 1 #include "iostream" 2 #include "cstdio" 3 #include "cstring" 4 #include "string" 5 using namespace std; 6 const int ma ...
分类:
其他好文 时间:
2017-04-01 11:39:13
阅读次数:
198
1、定义 用顶点表示活动,用有向边<Vi, Vj>表示活动间的优先关系。 Vi必须先于活动Vj进行。 这种有向图叫做顶点表示活动的AOV网络(Activity On Vertices) 2、拓扑排序 拓扑序列:即将各个顶点(代表各个活动)排列成一个线性有序的序列,使得所有弧尾结点排在弧头结点的前面。 ...
分类:
其他好文 时间:
2016-12-01 02:02:27
阅读次数:
4160
上篇博客我们介绍了AOV网的拓扑序列,请参考《数据结构(七) AOV网的拓扑排序(Swift面向对象版)》。拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的,但是工期不是最优的。因为拓扑序列是一个串行序列,如果按照该序列执行项目,那么就是串行执行的。我们知道在一个项目中 ...
分类:
编程语言 时间:
2016-11-10 09:44:05
阅读次数:
308
题意:一个家族里,人物关系很复杂,现在要排序每个人的话语权,要求每个祖先的话语权都要比子孙的高,输出话语权从大到小的顺序。 分析: 原本以为这题有坑,结果随便撸个普通的拓扑序列就A了,好水。 祖先指向子孙,每次取出入度为0即可。 代码: ...
分类:
编程语言 时间:
2016-10-31 21:31:31
阅读次数:
286
思路: 选择一个入度为0的顶点并输出,从网中删除此顶点及所有出边。 循环结束后,若输出的定点数小于网中的顶点数,则输出有回路信息,否则输出的顶点就是一种拓扑序列。 具体实现方法:邻接表,时间复杂度较小,邻接矩阵,时间复杂度高 确定比赛名次 Problem Description 有N个比赛队(1<= ...
分类:
编程语言 时间:
2016-09-28 22:50:35
阅读次数:
242
http://hzwer.com/6820.html (题目链接) 题意:给出一张无向图要求出一个拓扑序列满足1的位置最靠前 ,在保证上面的条件下使2的位置最靠前 ,在保证上面的条件下使3的位置最靠前 …… Solution 构造逆拓扑序,套个堆每次选出编号最大的加入答案,输出答案时从后往前输出。 ...
分类:
其他好文 时间:
2016-09-27 17:42:52
阅读次数:
153
题意: 删去K条边,使拓扑排序后序列字典序最大 分析: 因为我们要求最后的拓扑序列字典序最大,所以一定要贪心地将标号越大的点越早入队。我们定义点i的入度为di。 假设当前还能删去k条边,那么我们一定会把当前还没入队的di≤k的最大的i找出来,把它的di条入边都删掉,然后加入拓扑序列。 删除的一定是小 ...
分类:
其他好文 时间:
2016-09-14 23:23:35
阅读次数:
204