KIJamesQi的博客

大神养成中。

hdu5409 CRB and Graph(bcc)

题目中critical的定义:对于边e<u,v>e<u, v>成为critical边的充要条件是删除这条边之后u、v不连通了,由于这图是无向图,所以显然是桥边。然后针对桥边构造一条边,使得删除边e<u,v>e<u,v>之后,u、v还是连通的。要求u ...

2016-07-18 22:38:00

阅读数 332

评论数 0

poj2112 Electricity(割点应用)

给定一张无向图,求删除某个点后图形成的连通快数目,求最大。 邻接表会TLE。。。 统计每个割点所连接的双连通数目,和全部有多少个连通快。 const int maxn = 10010; // vector<vector<int> > G; int head[maxn]...

2016-07-03 11:22:49

阅读数 215

评论数 0

hdu2460 Network

思路:题目的意思是要求在原图中加边后桥的数量,首先我们可以通过Tarjan求边双连通分量,对于边(u,v),如果满足 low[v]>dfn[u],则为桥,这样我们就可以知道图中桥的数目了。对于每一次query,可以考虑dfs树,树边肯定是桥,然后连 上u,v这条边之后,就会形成一个环,这...

2016-06-24 16:10:01

阅读数 462

评论数 0

uvaLive6044 Unique Path(双连通分量的应用)

题意无向图中,求有多少对节点之间的路径是唯一的且边部重合。题目中有详细解释。 分析给的几个例子很明确了。只有树结构才有路径不重合。 const int maxn = 1e4 + 10; int dfn[maxn], low[maxn], depth; bool in[maxn]; bool mar...

2016-06-22 20:23:46

阅读数 241

评论数 0

uva610 Street Directions(无向图桥的应用)

题意有一张道路交通图,每条边都是双向的,且连通。现在想尽量把一些多的道路改成单向的,且任意两点是可达的,输出改造后的道路图。 分析同一个双连通分量里面的边都是可以通过重定向使得相互可达,可以改成单向边。桥边就只能是双向的了。 const int maxn = 1010; int dfn[maxn]...

2016-06-22 19:50:29

阅读数 281

评论数 0

hdu4612 Warm up(边双连通缩点+树的直径)

给定一张无向图,问现在添加一条边后可以使得图中还存在最少的桥边是多少。 思路:因为图是连通的,我们只需要把图缩点后形成一棵树(这里的边是原图中的桥)。然后求出这棵树的直径(经典问题),最后就是ans = bridge - Radius与0取最大。 特别注意下重边的处理。 /************...

2016-04-24 14:07:51

阅读数 269

评论数 0

hdu5483Nux Walpurgis

题目意思就是求一张图上的最小生成树必须经过的边的最少条数。 因为不含有重边,而且一颗确定的生成树要换边不换值的话就是同值的边进行变换。值不同必然边的数目也不同了。。。 同值的边不能能替换的等价条件是这条边在这群同值边都成的图中是桥,结合kruskal算法。 主要看能网上的题解才搞出来的。 ...

2016-01-29 16:35:36

阅读数 230

评论数 0

lightoj1300

思路:显然是和边双连通分量有关的,所以只需要在双连通分量中找奇环(二分图染色),如果找到,这个连通分量中的点都是满足的。 // #pragma comment(linker, "/STACK:1024000000,1024000000") #include #include...

2015-12-01 10:20:39

阅读数 172

评论数 0

lightoj1063 Ant Hills

思路:无向图中割点个数的判定。直接Tarjan抛一边就好了。 如果u是这个搜索树的根且有多个儿子节点,,,那么这个根是割点,因为去掉这个点后,他的儿子间是不能连通的。 如果u 不是根,如果它的某个儿子节点low[v] >= dfn[u]那么u也是一个割点。 // #pragma com...

2015-11-30 17:46:19

阅读数 195

评论数 0

hdu4005The war

思路: 无向图求连通分量。我们首先应该知道,因为加入的边未知,所以我们所求的最小金额就是无论加入的边在图中哪里,我们都可以删除一条边来使它不连通。so我们首先对图求解连通分量,然后缩点,形成一棵树。这时候,我们可以想到,在加入一条未知的边之后会形成一个环,显然最小值的边不是我们的答案,因为这...

2015-11-13 17:03:44

阅读数 227

评论数 0

poj3177 Redundant Paths

思路:给出一张无向连通图,问至少需要添加几天边可以使得图中任何两个点有至少两天不同路径(边不重合),等价于至少添加几条边可以使得图为双连通分量-边连通。 显然已经处于某连通分量中的点之间必然存在两条不同路径,所以可以等效的把这个连通分量看成一个点来对待,这样就是缩点了,然后得到一棵树,此时推一下就...

2015-11-13 10:05:42

阅读数 164

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭