10 2017 档案

摘要:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序 阅读全文
posted @ 2017-10-26 15:38 荒岛的龟 阅读(256) 评论(0) 推荐(0)
摘要:解题思路:拓扑排序+优先队列,每次找入度为零时的点的时候且值最小的。。。我觉得题目有点问题,刚开始写的时候,以为样例的答案是1 4 2 3,毕竟1和4没输过啊。。。结果去看了样例一眼,傻了。 #include<iostream>#include<algorithm>#include<queue>#i 阅读全文
posted @ 2017-10-25 21:33 荒岛的龟 阅读(359) 评论(0) 推荐(0)
摘要:题意:就任意两个点能否到达; 解题思路:首先将图简化,比如假设图里有一个环,那么,这环内两个点肯定是能相互到达的,那么就不用考虑这环内的点了,很简单就想到用tarjan算法将环缩成一个点,然后就是判断缩完点后的图内任意两点能否互相到达了,能互相到达一定是有路径连接所有点的,就通过拓扑排序了,如果同一 阅读全文
posted @ 2017-10-24 22:32 荒岛的龟 阅读(743) 评论(0) 推荐(0)
摘要:题目大意:给你一个n*m的只有0和1的矩阵,找到每列第一个1的位置a[i][j],a[i][j]及其a[min(k,n-i+1][j]中1的数量,每列位置值是1的可以变为0; 解题思路:因为数据较小,模拟整个过程,找出每列中1的数值最多的那一段; 代码(比较菜,代码写得比较乱): #include< 阅读全文
posted @ 2017-10-23 19:48 荒岛的龟 阅读(246) 评论(0) 推荐(0)
摘要:dfs代码: #include<iostream>#include<Algorithm>#include<cstring>#include<cstdio>#include<cstdlib>using namespace std;int cnt,m;int head[50005];bool s[500 阅读全文
posted @ 2017-10-21 20:52 荒岛的龟 阅读(556) 评论(0) 推荐(1)
摘要:#include<iostream>#include<algorithm>#include<queue>#include<cstring>#define maxn 100006using namespace std;struct node{ int w; int to; int next;}edge 阅读全文
posted @ 2017-10-21 20:42 荒岛的龟 阅读(153) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/acdreamers/article/details/16902023(原作者) 我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边 阅读全文
posted @ 2017-10-14 20:16 荒岛的龟 阅读(182) 评论(0) 推荐(0)