假设我们有一组任务要完成,并且有些任务要在其它任务完成之后才能开始,所以我们必须非常小心这些任务的执行顺序。如果这些任务的执行顺序足够简单的话,我们可以用链表来存储它们,这是一个很好的方案,让我们可以准确知道任务的执行顺序。问题是有时候不同任务之间的关系是非常复杂的,有些任务依赖于两个甚至更多的任务...
分类:
其他好文 时间:
2014-07-16 20:28:34
阅读次数:
275
#include#include#include#include#include#include#include#include#include#include#include#include using namespace std;const int Maxn=200;int c[Maxn],to...
分类:
其他好文 时间:
2014-07-16 18:44:19
阅读次数:
226
题目大意: 给你N个球的重量比较,输出1->N位置球的重量(记住是球的重量,不是按照球重量大小输出序号,球的重量大小也是1->n)。如果无法判断输出-1.解题思路: 拓扑排序,记录较小的编号球的入度,依次n--赋值入度为零的编号球。代码: 1 #include 2 #include 3...
分类:
其他好文 时间:
2014-07-14 08:37:12
阅读次数:
232
Sad..这么水的题WA了无数发,题目要看仔细啊,留下来做个警告把#include #include #include #include #include #include #include #include #include #include #include #include using nam...
分类:
其他好文 时间:
2014-07-13 21:25:07
阅读次数:
205
天气越来越热,看书还得静得下心啊,今天继续图这一章,概念和算法众多,第一遍看以广度优先的形式为主,以后若要用到具体的算法再去翻“算法导论”吧。下面是学习内容和笔记。图(graph)1.图的存储结构邻接矩阵:顶点数组+边数组(二元);无向图的边数组为对称矩阵,有向图..
分类:
其他好文 时间:
2014-07-13 14:32:18
阅读次数:
214
这个题目是拓扑排序,因为边的数目非常大,所以普通的建图会爆内存,所以这里采用vector容器。
1:建完图后对入度为0的点加入队列,然后对整幅图进行扫描,得到每个点的位置。
2:要用一个数组存相对位置,所以不能只用一个变量存储,因为每次出队列只能有一个元素。。
2:用数组模拟果然比stl快一些。。。
题目链接:
哈哈 我在这里
题面:
Reward
Time Limit...
分类:
其他好文 时间:
2014-07-12 16:35:07
阅读次数:
292
拓扑排序虽是一种排序,但是它跟平时所接触的sort或者qsort不同,排序的意义不同。拓扑排序针对有向无回路图(DAG)而言的,不应用与存在回路的有向图。【图论】广度优先搜索和深度优先搜索 有说到了BFS和DFS,拓扑排序是DFS的一个应用。有向无回路图能说明事件的发生的先后的顺序。比如穿衣服,士兵...
分类:
其他好文 时间:
2014-07-11 20:11:54
阅读次数:
298
之前很傻,,感觉看不到拓扑是啥东西。。脑子太烂了吧。。。今晚上瞄了一眼就懂了。。我就放代码上来就行了。。注释也不打了,,因为太简单了。#include #include using namespace std;#define CC(i) memset(i, 0, sizeof(i))const in...
分类:
其他好文 时间:
2014-07-09 13:33:27
阅读次数:
235
搜索一个图是有序地沿着图的边访问所有定点, 图的搜索算法可以使我们发现很多图的结构信息, 图的搜索技术是图算法邻域的核心。
e...
分类:
其他好文 时间:
2014-07-09 10:30:48
阅读次数:
233
Topological Sort题解。本题是简单的入门题目。
Topological Sort的思想很简单,就是按没有入度的点,先输出,然后删除这个点的出度。然后输出下一组没有入度的点。
如何实现也是很简单的:
这里使用邻接表,建图的时候反过来建图,建立一个入度邻接表。
然后使用一个vis数组,记录访问过的节点,也可以根据这个信息知道哪些是已经输出的点,这个时候这些点的入度可以不算为当前入...
分类:
其他好文 时间:
2014-07-08 12:46:41
阅读次数:
282