码迷,mamicode.com
首页 >  
搜索关键字:tarjan    ( 1608个结果
有向图的强连通分量(tarjan算法)
考虑强连通分量C,设其中第一个被发现的点为x,则,C中其他的点都是x的后代。我们希望在x访问完成时立即输出C(可以同时记录C,输出代表当前在当前的遍历序列中剔除),这样就可以在同一颗DFS树种区分开所有SCC了,因此问题的关键是判断一个点是否为一个SCC中最先被发现的点。...
分类:编程语言   时间:2016-05-12 23:54:53    阅读次数:354
Tarjan算法
转自:https://www.byvoid.com/blog/scc-tarjan/ Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。 定义DFN(u)为节点u搜索的次序编号(时间戳),Low(u)为u或u的子树能够追溯到的最早的栈中节点的次序号((这个...
分类:编程语言   时间:2016-05-12 22:16:20    阅读次数:213
【BZOJ 1051】【HAOI 2006】受欢迎的牛
tarjan缩点模板 现在才学是不是太晚了= = ...
分类:其他好文   时间:2016-05-10 18:03:43    阅读次数:151
HDU 3639 Hawk-and-Chicken tarjan缩点+dfs
题意:投票,投票可以传递,当一个人投票时,要把此人的得票数全给被投的那个人,问最后按升序输出得票数最高的人。 想法:显然在一个连通块内的所有点的得票数都是一样的,即:块内点数-1,(1:是他自己本身)。所以先要tarjan缩点,然后求出每一个块可以由几个块到达(这里可以反向建边dfs)。最后输出最大得票数的人即可。 #include #include #include #inc...
分类:其他好文   时间:2016-05-07 11:12:46    阅读次数:163
SDUT 2604 Thrall’s Dream (单连通的判断)
大意:给定一些有向图间的关系问任意两点是不是可达的。 思路:Tarjan后直接看入度和出度为0的数量关系,如果大于1则肯定是不可能,相连通的。 #include #include #include #include #include #include #include #include #define LL int #define inf 0x3f3f3f3f #define ...
分类:其他好文   时间:2016-05-07 09:12:13    阅读次数:242
HDU 3861 The King’s Problem 连通分量+二分匹配
题意:n个城市,m条有向边, 现在要把这个图分成块,对于块的定义:1,所有能够互通的点一定在一个块内。2,一个点可以到达另一个点,所经过的点只能是这个块内的。问做少要分多少个块? 想法:显然tarjan先缩点,然后可以想到,要想百分之一百满足第2个条件,那么每一个块最多只能有所点后的两个点,所以对所得的缩点进行二分匹配,然后求得最大独立集=col-(最大匹配数) #includ...
分类:其他好文   时间:2016-05-07 07:23:08    阅读次数:172
tarjan模板(缩点,求有向图强连通分量)
具体思路见详解网址:https://www.byvoid.com/blog/scc-tarjan; 然后整理出了这个tarjan模板,具体数组的功能代码都有注释。 const int N=100010; struct data { int to,next; } tu[N*2]; int head[N]; int ip; int dfn[N], low[N];///dfn[]表示深搜的步...
分类:其他好文   时间:2016-05-06 16:11:15    阅读次数:99
HDU 2586 How far away LCA的离线算法 Tarjan
链接: How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11204 Accepted Submission(s): ...
分类:编程语言   时间:2016-05-03 16:17:39    阅读次数:207
bzoj1093: [ZJOI2007]最大半连通子图
动态规划. 首先,如果一个强连通分量的一个点在子图里,这个强连通分量所有点都在子图。所以先用tarjan算法求出强连通分量,缩点,当成一个点来处理。然后进行俩次动态规划就行了,注意判重边。 #include #include #include #include using namespace std... ...
分类:其他好文   时间:2016-05-01 16:14:20    阅读次数:224
[bzoj1005] [JSOI2008]星球大战starwar
想了半天决定第一篇就发一道水题的题解吧……这道题以前就看了但是神奇的第一次没有写对,然后今天写代码+调试,额……二十分钟…… 题目懒得贴了,直接戳这里 题目大意就是给你一个图(毫无疑问稀疏图),然后每一次抹去其中一个节点,然后求这时的连通块个数。 第一次看这题的时候在学tarjan,第一反应就是每次 ...
分类:Web程序   时间:2016-05-01 06:23:19    阅读次数:260
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!