![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Tarjan算法
Tarjan算法
Stockholm_Sun
这个作者很懒,什么都没留下…
展开
-
消息扩散(Tarjan算法缩点处理)
P2002 消息扩散 题目概述 给定一张有向图,不保证无自环与重边,信息从某几个节点出发,沿单向路传播,现在给出n个节点及其之间的道路,问至少需要在几个节点发布信息才能让这所有节点都得到信息。 数据规模:n≤100000,m≤500000 时空限制:1s,256M 思路: 利用缩点的思想,先预处理一下所有的强连通分量,然后把每个强连通分量内的所有节点看做一个节点,然后处理一张新图,O(M原创 2017-08-11 10:33:10 · 2385 阅读 · 0 评论 -
关于对Tarjan算法的思考与尝试
Tarjan–关于对Tarjan算法的思考与尝试接下来(超级)详细的解释一下代码吧!全局变量部分的解释int i,j,n,m; bool b[1001]; int color[1001],colorn; int stack[1001],top;//数组模拟栈 int s,e,temp,index; int dfn[1001],low[1001]; int head[1001]; struct da原创 2017-07-14 11:13:52 · 444 阅读 · 0 评论 -
刻录光盘(Tarjan算法求强连通分量)
题目概述 给定N个人和一些人与人之间的关系(u,v),表示u愿意借给v光盘,那么对于存在的(u,v)(v,w)表示u愿意借给v光盘,v愿意借给w光盘,同时u愿意借给w光盘。求最少要用多少光盘才会让这N个人全部能够借到光盘。 数据规模 2<=N<=200 思路 这个题我认为比较难想的就是Tarjan强联通分量缩点,然后变成一个有向无环图,求入度为0的点的个数,然后输出即可。注意这个题存在诡异原创 2017-08-25 08:05:28 · 372 阅读 · 0 评论 -
LCA Tarjan实现
Tarjan LCA以前认为Tarjan算法只是用来解强连通分量的算法,后来发现LCA也有一个Tarjan算法。 下面借一个树来了解一下算法思路。(树已经横向放置) 询问组: 11 9 10 8 6 7 1 5 2 3 这个算法最好亲手模拟一遍,然后就会感到茅塞顿开。 先从1节点开始DFS深度优先遍历(左节点优先)。 1->2->4->8->10。 发现10没有子节点,找所原创 2017-08-15 17:29:38 · 374 阅读 · 4 评论 -
[HAOI2006]受欢迎的牛(Tarjan+并查集)
P2341 [HAOI2006]受欢迎的牛 题目概述:给定一张有向图,求从任何节点出发都可以抵达的节点个数。 数据规模:N<=10000,M<=50000 思路:Tarjan算法预处理强连通分量,缩点处理,然后得到一张新图,且这张图为有向无环图,然后利用并查集查找从任何节点出发都可以抵达的节点个数即可,用一个数组查询父亲节点为i的个数,但是要注意unionn的操作时,fa[xx]=fy,而不是原创 2017-08-11 14:10:57 · 372 阅读 · 0 评论 -
[POI2005]SKA-Piggy Banks
[POI2005]SKA-Piggy Banks(Luogu P3420)English ProblemByteazar the Dragon has NN piggy banks. Each piggy bank can either be opened with its corresponding key or smashed. Byteazar has put the keys in some翻译 2017-11-04 16:26:36 · 456 阅读 · 0 评论