功能:输入一个N个点,M条单向边的有向图,求出此图全部的强连通分量原理:tarjan算法(百度百科传送门),大致思想是时间戳与最近可追溯点这个玩意不仅仅是求强连通分量那么简单,而且对于一个有环的有向图可以有效的进行缩点(每个强连通分量缩成一个点),构成一个新的拓扑图(如BZOJ上Apio2009的那...
分类:
编程语言 时间:
2015-02-04 00:21:11
阅读次数:
304
1179: [Apio2009]AtmTime Limit:15 SecMemory Limit:162 MBSubmit:1629Solved:615[Submit][Status]DescriptionInput第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数...
kosaraju、tarjan、kosaraju dfs转非递归,三种代码。。。
可以有效对付卡系统栈的管理员。。。...
http://www.lydsy.com/JudgeOnline/problem.php?id=1179缩点建图。。。#include #include #include #include #include #include #include #include #include using name...
缩点后转化成 DAG图上的单源最长路问题。spfa/dp随便。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int cmp[500001],sum,n,m,Us[500001],Vs[...
分类:
移动开发 时间:
2014-11-30 14:01:07
阅读次数:
226
题目大意:给出一张有向图,每一个节点有一个权值,经过一次之后会取走节点上的权值。有一个原点,多个汇点,问最多能收获多少权值。
思路:做一次Tarjan将图变成拓扑图,然后直接跑SPFA+Heap,比较慢,但是用了高大上的namespace,很开心。
CODE:
#include
#include
#include
#include
#include
#defin...
1179: [Apio2009]AtmTime Limit:15 SecMemory Limit:162 MBSubmit:1427Solved:544[Submit][Status]DescriptionInput第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数...