Harry and Magical Computer
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 265 Accepted Submission(s): 123
Problem Description
I...
分类:
编程语言 时间:
2015-01-04 13:37:16
阅读次数:
189
题目大意: 哈利用一个魔法电脑处理N个任务,但是有M个前后关系(a,b),
意思是在b执行之前必须先执行a,即a任务在b任务前,问你是否能满足要求
处理完这N个任务。
思路:拓扑排序,用到了队列。先将所有入度为0的点入队,并用Count统计
入度不为0的点。遍历队列中的点所连的所有边,并减少该点连接边另一端的
入度,只要另一端入度为0了,就将它加入队列中,并统计这一端的个数id。
最后比较id和Count是否相等就可以判断是否能处理完这N个任务。...
分类:
编程语言 时间:
2015-01-04 07:38:30
阅读次数:
212
#include
#include
#include
using namespace std;
#define maxn 105
int n,m,t;
int a[maxn][maxn];
int vis[maxn],des[maxn];
bool dfs(int u)
{
vis[u]=-1;
for(int i=1; i<=n; i++)
if(a[u...
分类:
编程语言 时间:
2014-12-30 13:41:56
阅读次数:
150
1 #include 2 #include 3 #include 4 using namespace std; 5 6 //表结点 7 typedef struct ArcNode{ 8 int adjvex;//该弧所指向的顶点的位置 9 ArcNod...
分类:
编程语言 时间:
2014-12-28 01:39:06
阅读次数:
270
根据题目所给的3个不符合情况的条件,一个个判断图是否符合这3个条件即可1.不能出现内部环,拓扑排序判断2.不能有超过1个点的入度为0,因为只有一个树根3.每个点最多一个入度这里要注意的一点是这个点的数字是乱给的,所以最大值为8,但实际上不一定有8个点,这里记录一个最大值的参数,和一个总共点数的参数来...
分类:
编程语言 时间:
2014-12-26 01:01:01
阅读次数:
189
最近做图的题比较多,除了克鲁斯卡尔和floyd,像广搜,普里姆,Bellman-Ford,迪杰斯特拉,SPFA,拓扑排序等等,都用到图的邻接表形式。数据结构书上表示邻接表比较复杂,一般形式如下: 1 typedef struct Node 2 { 3 int dest; ...
分类:
其他好文 时间:
2014-12-26 00:48:34
阅读次数:
378
拓扑排序: 一个较大的工程往往被划分成许多子工程,我们把这些子工程称作活动(activity)。在整个工程中,有些子工程(活动)必须在其它有关子工程完成之后才能开始,也就是说,一个子工程的开始是以它的所有前序子工程的结束为先决条件的,但有些子工程没有先决条件,可以安排在任何时间开始。为了形象地反映....
分类:
编程语言 时间:
2014-12-23 17:17:06
阅读次数:
355
题目大意:给出一张有向图,若一个点能够到达另一个点,那么说这两个点是一对联通点。问图中共有多少联通点。
思路:先进行一次Tarjan,求出所有的scc,对于一个scc中的点,对答案的贡献就是cnt^2,不同的scc组成了一张可拓扑图,然后对于每个scc维护一个bitset,来统计他自己和标号比它小的scc中共有多少个不同的点。然后进行dp,其中不停的或就可以了。
第一次使用bitset...
分类:
Web程序 时间:
2014-12-23 15:38:11
阅读次数:
238
题目大意:给你一个图,图中任意两点之间要么有正向边,要么有反向边。
判断是否含有a->b->c->a的三角形环。
思路:其实只要有环,就能构成三角形环。因为任意两点之间要么有正向边,
要么有反向边。如果现在有一个四元素环 a->b->c->d->a,若a不指向c,则
c必定指向a,所以必定存在三角形环。直接拓扑排序,如果不能排序,则有
三角环,输出“Yes”,能拓扑排序,则不含有三角环,输出"No"。...
分类:
编程语言 时间:
2014-12-23 00:21:27
阅读次数:
232
思路:因为要满足字典序的拓扑排序,所以用了STL中的优先队列。
priority_queue<int,vector, greater > Q;
实现了权值小的优先级高,取出的时候保证序号是队列中最小的。
其他的和一般的拓扑排序无区别。...
分类:
编程语言 时间:
2014-12-22 22:50:05
阅读次数:
243