综合性很强的题目。存在环,可以用tarjan处理,然后需要求LCA。并查集+RMQ可以搞。非常不错的题目。 1 /* 4297 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #include <map> 6 #
分类:
其他好文 时间:
2016-01-30 18:23:08
阅读次数:
163
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7406 Accepted: 3363 Description Consider the two networks shown below. Assuming that da
分类:
编程语言 时间:
2016-01-28 23:53:42
阅读次数:
251
题目是问,一个有向图有多少个点v满足?w∈V:(v→w)?(w→v)。把图的强连通分量缩点,那么答案显然就是所有出度为0的点。用Tarjan找强连通分量: 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MAXN 5...
分类:
其他好文 时间:
2016-01-25 11:29:33
阅读次数:
174
这题仿佛暴力都能过。。。我还是写的tarjan。纯粹是裸的找环,每个点所属的强连通分量只要大于一个点,依据定义就肯定有环。#include#include#include#include#include#define maxv 1005#define maxe 100005using namespa...
分类:
其他好文 时间:
2016-01-24 12:50:42
阅读次数:
111
题目要输出一个无向图的所有割边。用Tarjan算法:一遍DFS,构造出一颗深度优先生成树,在原无向图中边分成了两种:树边(生成树上的边)和反祖边(非生成树上的边)。顺便求出每个结点的DFS序dfn[u]和 每个结点能沿着它和它的儿子的返祖边达到的结点最小的DFS序low[u]。一条边(u,v)是割边...
分类:
其他好文 时间:
2016-01-23 21:35:59
阅读次数:
121
题目求一个无向图的所有割点,并输出删除这些割点后形成几个连通分量。用Tarjan算法:一遍DFS,构造出一颗深度优先生成树,在原无向图中边分成了两种:树边(生成树上的边)和反祖边(非生成树上的边)。顺便求出每个结点的DFS序dfn[u]和 每个结点能沿着它和它的儿子的返祖边达到的结点最小的DFS序l...
分类:
其他好文 时间:
2016-01-23 21:26:26
阅读次数:
159
How far away ?Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10312Accepted Submission(s): 3743Pro...
分类:
其他好文 时间:
2016-01-17 19:02:42
阅读次数:
207
开始填连通分量大坑。。tarjan强连通分量求缩点重构图(终于知道tarjan缩点是什么意思了QWQ),出度为0的点若只有一个则输出其代表强连通分量的大小,否则无解。 1 #include 2 #define inc(i,l,r) for(int i=l;i=r;i--) 4 #define lin...
分类:
其他好文 时间:
2016-01-04 19:47:03
阅读次数:
187
一开始直接无脑tarjan,回溯只能一层层往上走,太慢了,加了各种优化还是TLE后来了解到LCA倍增法(在线)。复杂度其实相比LCA转RMQ以及tarjan是要稍差一些,但是其中能同步维护的只有LCA倍增,很神奇的算法#include"cstdio"#include"queue"#include"c...
分类:
其他好文 时间:
2016-01-02 01:07:25
阅读次数:
941
第一问的裸的tarjan很简单,关键是第二问。我们考虑将整张图缩点,那么出度为0的点(块)可能满足条件。重点来了:如果存在两个以上的出度为0的块,则不满足条件(这两块没有任何关系)加之此题数据水。。。。。#include#include#include #include#include#includ...
分类:
其他好文 时间:
2015-12-27 20:33:51
阅读次数:
161