题目链接:http://poj.org/problem?id=1523 题目大意:有多组数据,要你求出每组数据的割点,并输出这个割点所在的块数 算法实现: 割点是什么:一个无向连通图去掉一个点及与这个点相连的后,这个无向图分为多个互不连通的子块,这个点则称为割点 时间戳是什么:在搜索时访问的最早时间 ...
分类:
其他好文 时间:
2016-06-04 20:52:01
阅读次数:
213
题目链接:http://poj.org/problem?id=3180 题目大意:求一个有向图的强连通分量 算法:求强连通分量首选tarjan算法 这里简单说一下tarjan的思路 时间戳是什么:在搜索时访问的最早时间 维护dfn[u]表示u的时间戳 low[u]表示u点所能回到的最早的祖先的时间戳 ...
分类:
其他好文 时间:
2016-06-04 20:48:40
阅读次数:
174
1924: [Sdoi2010]所驼门王的宝藏 Description Input 第一行给出三个正整数 N, R, C。 以下 N 行,每行给出一扇传送门的信息,包含三个正整数xi, yi, Ti,表示该传送门设在位于第 xi行第yi列的藏宝宫室,类型为 Ti。Ti是一个1~3间的整数, 1表示可 ...
分类:
编程语言 时间:
2016-06-03 22:51:30
阅读次数:
283
发现自己Tarjan的板子有错误.发现可以用Map直接删去边,Get. 听说std是双连通、LCA、并查集、离线思想、用BIT维护dfs序和并查集维护LCA的动态缩点的好题 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> ...
分类:
其他好文 时间:
2016-06-03 17:14:44
阅读次数:
255
这个题目网上有很多答案,代码也很像,不排除我的。大家的思路应该都是taijan求出割边,然后找两个点的LCA(最近公共祖先),这两个点和LCA以及其他点构成了一个环,我们判断这个环上的割边有几条,我们的答案就少几个。 有人问,这个题重边怎么办呢,重边肯定不是桥啊。额……对于这个我只能说,这个题的原始 ...
分类:
编程语言 时间:
2016-05-31 22:10:09
阅读次数:
196
给出一棵家谱树,树中的节点都有一个名字,保证每个名字都是唯一的,然后进行若干次查询,找出两个名字的最近公共祖先。 题目链接最近公共祖先 分析 数据量大,根据题目提示,采用Tarjan + 并查集算法,进行离线LCA查询操作。即先将所有的查询存储下来,然后统一DFS遍历一遍家族树,在遍历的过程中对遍历 ...
分类:
其他好文 时间:
2016-05-29 19:58:52
阅读次数:
243
链接:http://poj.org/problem?id=3694 题意:给定一个有向连通图,每次增加一条边,求剩下的桥的数量。 思路: 给定一个无向连通图,添加一条u->v的边,求此边对图剩余的桥的数量的影响: 若u,v在同一个强联通分量中,则是否添加无影响。否则从u,v的LCA到u,v的边上所有 ...
分类:
移动开发 时间:
2016-05-28 17:40:33
阅读次数:
233
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 给一张无向图,每一条边都有权值。找一条割边,使得删掉这条边双连通分量数量增加,求权值最小那条。 注意有重边,ACEveryDay里群巨给的意见是tarjan的时候记录当前点是从哪条边来的。 注意假 ...
分类:
移动开发 时间:
2016-05-27 21:56:17
阅读次数:
259