码迷,mamicode.com
首页 >  
搜索关键字:拓扑序列    ( 88个结果
POJ1128
很显然地一个拓扑排序。根据题意很容易能够构图,由于需要求所有的拓扑序列,于是dfs,我们通过记录edge来修复in[].代码质量很烂,vis完全可以用in=-1的情况替代,这里注意到memset赋值的大小问题。以及一直WA,原因在于,total并没有初始化为零,虽然在最开始初始化了,但是后来会被修改...
分类:其他好文   时间:2015-06-05 19:14:17    阅读次数:119
拓扑排序
使用链式前向星储存边,代码如下://先将图中没有前驱(即入度为0)的顶点加入队列For i:=1 to n do if d[i]=0 thenBegin Inc(tot); q[tot]:=i;End;//使用队列中的点更新d数组并生成拓扑序列Iq:=0;While iq-1 doBegin Dec...
分类:编程语言   时间:2015-05-05 14:14:40    阅读次数:148
数据结构 - 拓扑排序
应用背景学生选修课程问题 顶点——表示课程 有向弧——表示先决条件,若课程i是课程j的先决条件,则图中有弧(i,j) 学生应按怎样的顺序学习这些课程,才能无矛盾、顺利地完成学业——拓扑排序 拓扑序列是有向无环图中各顶点构成的有序序列。该序列满足如下条件:如果图中一顶点vi到另一顶点vj存在一条路径,那么vj在此图的拓扑排序序列中位于vi之后。 有向无环图(DAG)和 AOV网有向无环图...
分类:编程语言   时间:2015-05-03 10:42:34    阅读次数:253
HDU 4324 Triangle LOVE【拓扑排序】
题意:给出n个人,如果a喜欢b,那么b一定不喜欢a,如果b不喜欢a,那么a一定喜欢b就是这n个点里面的任意两点都存在一条单向的边, 所以如果这n个点不能构成拓扑序列的话,就一定成环了,成环的话就一定能够找到一个三元环所以只需要判断能不能构成拓扑序列另外,tle了一晚上是因为用了cin------55...
分类:编程语言   时间:2015-04-25 22:23:09    阅读次数:192
HDU 2647 Reward【拓扑排序】
题意:工厂发工资,最低工资是888元,然后比他高一层得人的工资是889,依次类推因为是从工资低的人推到工资高的人,所以反向建图然后就是自己写的时候犯的错误,以为工资是后一个人比前一个人高1元,然后就直接判断是否能形成拓扑序列之后,用n*888+(n-1)*n/2来算了这样不对,是后一层的工资比前一层...
分类:编程语言   时间:2015-04-25 18:03:38    阅读次数:184
UVa 10305 Ordering Tasks【拓扑排序】
题意:给出n件事情,m个二元组关系,求它们的拓扑序列用的队列来做 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #includ...
分类:编程语言   时间:2015-04-25 16:27:40    阅读次数:199
[hdu5195]线段树
题意:给一个DAG,最多可以删去k条边,求字典序最大的拓扑序列。思路:贪心选取当前可选的最大编号即可,同时用线段树维护下。一个节点可以被选,当且仅当没有指向它的边。 1 #include 2 #include 3 #include 4 #include 5 #include 6...
分类:其他好文   时间:2015-04-12 13:22:13    阅读次数:155
BC DZY Loves Topological Sorting
DZY Loves Topological Sorting    Accepts: 112    Submissions: 586  Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) 问题描述 一张有向图的拓扑序列是图中点的一个排列,满足对于图...
分类:其他好文   时间:2015-04-06 08:54:50    阅读次数:202
hdu 5195 线段树
题目描述:给定一个DAG,求出允许移除最多K条边后的字典序最大的拓扑序列。思路:线段树,每次找入度不超过K的最大编号的顶点,将此顶点从图中移除,重复操作n次即可得到结果。吐槽:当时打BC的时候写出了一个直接贪心+拓扑排序的复杂度为O(n)的错误代码(当时还没有意识到是错误代码),交到hdu oj上居...
分类:其他好文   时间:2015-04-04 01:05:09    阅读次数:245
HDU 5195 线段树
官方题解: 因为我们要求最后的拓扑序列字典序最大,所以一定要贪心地将标号越大的点越早入队。我们定义点i的入度为di。假设当前还能删去k条边,那么我们一定会把当前还没入队的di≤k的最大的i找出来,把它的di条入边都删掉,然后加入拓扑序列。可以证明,这一定是最优的。 具体实现可以用线段树维护每个位置的di,在线段树上二分可以找到当前还没入队的di≤k的最大的i。于是时间复杂度就是O((n+m)lo...
分类:其他好文   时间:2015-03-29 12:16:12    阅读次数:132
88条   上一页 1 ... 5 6 7 8 9 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!