poj2186tarjan算法缩点求出度 自己打一遍第一题,入门啦,入门啦 题目还算简单,多头牛,给你仰慕关系(可传递),问你最后有没有牛被所有的牛仰慕 根据关系可以建图,利用tarjan算法缩点处理后,得到有向无环图,缩成的点都是相互仰慕的,所以根据传递性也就是可以看成一个点了,然后染色分块,计算 ...
分类:
编程语言 时间:
2018-08-02 16:57:04
阅读次数:
128
#include #include #include #include #include #include #include #include #include #include #include #define rap(i, a, n) for(int i=a; i #define mem(a, ... ...
分类:
其他好文 时间:
2018-08-02 01:47:03
阅读次数:
106
Katu Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11429 Accepted: 4233 Description Katu Puzzle is presented as a directed graph G ...
分类:
其他好文 时间:
2018-08-01 18:12:43
阅读次数:
177
题目链接:http://codeforces.com/contest/999/problem/E 题目: 题意:给你n个城市,m条单向边,问你需要加多少条边才能使得从首都s出发能到达任意一个城市。 思路:tarjan缩点,结果就是缩点新建的图中入度为0的点的数量。 代码实现如下: ...
题目说给出一些子集,如果A是B的子集,B是A的子集,那么A和B就是相等的,然后给出n个集合m个关系,m个关系表示u是v的子集,问你最小再添加多少个关系可以让这n个集合都是相等的 如果这n个几个都是互相相等的,那么就等于是这n个集合看成点以后,构成的图是一个强连通图,那么就是说在加多少边让这个图变成强 ...
分类:
其他好文 时间:
2018-07-31 21:39:35
阅读次数:
172
先tarjan缩成DAG,然后答案就变成了最长链,dp的同时计数即可 就是题面太唬人了,没反应过来 ...
分类:
编程语言 时间:
2018-07-31 21:37:45
阅读次数:
129
[题目链接] http://poj.org/problem?id=3694 [算法] 首先,我们用tarjan算法求出所有的边双联通分量,然后,将这张图缩点 如果添加的边(x,y)在同一个双联通分量中,答案不变,否则,给belong[x]-belong[y]的路径上的边作标记,可以用并查集加速这个过 ...
分类:
Web程序 时间:
2018-07-31 19:10:12
阅读次数:
175
题意:判断一个有向图中的任意两点u、v,是否可以由其中一个点到达另一个点。 分析:这个问题转化以后就是:将该图强连通缩点后再判断其是否是单向连通的。缩点用Tarjan处理强连通分量。 有一个定理是这样的:一个有向图是单项连通的当且仅当其拓扑排序唯一。那么将这个子问题再转化为其缩点之后的图拓扑排序是否 ...
分类:
其他好文 时间:
2018-07-31 15:14:36
阅读次数:
112
#include #include #include using namespace std; const int maxn=200; struct my{ int next; int v; }; my bian[maxn*maxn]; int adj[maxn],fa,cnt,n,dfn[maxn... ...
分类:
其他好文 时间:
2018-07-30 11:34:48
阅读次数:
125