码迷,mamicode.com
首页 >  
搜索关键字:tarjan    ( 1608个结果
算法模板——Tarjan强连通分量
功能:输入一个N个点,M条单向边的有向图,求出此图全部的强连通分量原理:tarjan算法(百度百科传送门),大致思想是时间戳与最近可追溯点这个玩意不仅仅是求强连通分量那么简单,而且对于一个有环的有向图可以有效的进行缩点(每个强连通分量缩成一个点),构成一个新的拓扑图(如BZOJ上Apio2009的那...
分类:编程语言   时间:2015-02-04 00:21:11    阅读次数:304
POJ1236 Network of Schools【Tarjan】【强连通分量】
题目大意: N台电脑之间能够通过有向边(u,v)从第u台电脑传输文件到第v台电脑。如果给第u台电脑投放 一个文件,那么这个文件就能通过有向边传输到第v台电脑上,给你N台电脑的连接情况。 那么问题来了:1、最少向这N台电脑中的几台电脑投放文件,就能使N台电脑都能接收到文件。 2、最少向这N台电脑构成的图中添加几条边,使只向一台电脑投放文件,就能够是N台电脑都 能接收到文件。 思路: 该图中的文件具有传递性。很快发现强连通的特征。对应图中的一个强连通分量,只要向其中的 一个点投放文件,那么这个强连通分量就都能...
分类:Web程序   时间:2015-02-03 11:07:50    阅读次数:118
POJ2186 Popular Cows【Tarjan】【强连通分量】
题目大意:每头奶牛都希望自己成为最欢迎的那头牛。给你N头牛,M个崇拜关系(A,B)。 意思是牛A崇拜牛B。特别是,如果牛A崇拜牛B,牛B崇拜牛C,那么牛A也崇拜牛C。那么 问题来了:请计算出被所有牛崇拜的牛的个数。 思路:把崇拜关系(A,B)看做是一条有向边,并且,我们发现牛的崇拜关系具有传递性。那 么只要牛A有一条路径连向牛B,就可以判定牛A崇拜牛B。于是,被所有牛崇拜的牛就是所 有的点都存在一条路径连向它的有向路径。这道题中,将原图强连通分量缩点后构成了DAG, 那么如果新图中出度为0的点只有一个,则有...
分类:其他好文   时间:2015-02-02 18:05:26    阅读次数:246
BZOJ2199 [Usaco2011 Jan]奶牛议会
首先激励一个2-SAT的裸模型,然后发现。。。tarjan没法判断'?'的情况于是暴力对每一个议案check一下,直接dfs即可 1 /************************************************************** 2 Problem: 21...
分类:其他好文   时间:2015-02-02 00:35:20    阅读次数:229
HDU 3062 Party(2-sat 模板题 tarjan )
HDU 3062 Party(2-sat 模板题 tarjan )...
分类:其他好文   时间:2015-02-01 21:54:46    阅读次数:351
HDU 3639 Hawk-and-Chicken(Tarjan缩点+反向DFS)
Problem DescriptionKids in kindergarten enjoy playing a game called Hawk-and-Chicken. But there always exists a big problem: every kid in this game wa...
分类:其他好文   时间:2015-02-01 20:21:10    阅读次数:241
【BZOJ 1093】 [ZJOI2007]最大半连通子图
求最大弱连通子图~ tarjan缩点+topsort~...
分类:其他好文   时间:2015-02-01 09:38:52    阅读次数:222
【BZOJ 1023】 [SHOI2008]cactus仙人掌图
tarjan求仙人掌直径~ 详细题解~~...
分类:其他好文   时间:2015-01-25 13:55:23    阅读次数:1383
hdu 4612 Warm up (带有重边的无向图Tarjan+树的直径)
hdu 4612 Warm up (带有重边的无向图Tarjan+树的直径) —— black 的专栏 ——waShaXiu...
分类:其他好文   时间:2015-01-24 17:27:49    阅读次数:216
URAL 1471(lca tarjan算法)
题意:给定一棵树,查询时给定两个点,求出两个点的距离。 暴力做肯定超时的。我的做法是采用lca(最近公共祖先)的离线算法,即tarjan算法(据说Tarjan提出了很多算法,可能还有很多tarjan算法),算法里用到了并查集。在输入完所有查询之后,在求出答案。tarjan算法的做法是:一开始vis数组初始化为0,从树根开始递归往下对点进行染色,刚到一个点的时候将vis取为-1,在继续递归...
分类:编程语言   时间:2015-01-24 09:02:19    阅读次数:260
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!