POJ 2553 The Bottom of a Graph
题目链接
题意:给定一个有向图,求出度为0的强连通分量
思路:缩点搞即可
代码:
#include
#include
#include
#include
#include
using namespace std;
const int N = 5005;
int n, m;
vector g[N...
分类:
其他好文 时间:
2014-10-20 19:33:28
阅读次数:
178
POJ 2186 Popular Cows
题目链接
题意:一个奶牛,之间有互相仰慕的关系,如果A仰慕B,B仰慕C,意味着A也仰慕C,问有多少奶牛被所有奶牛仰慕
思路:强连通缩点,点权为连通集合个数,如果出度为0的点个数大于1个,答案就是0,如果等于1个,答案就是那个点的权值
代码:
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-10-20 19:30:24
阅读次数:
214
POJ 1236 Network of Schools
题目链接
题意:题意本质上就是,给定一个有向图,问两个问题
1、从哪几个顶点出发,能走全所有点
2、最少连几条边,使得图强连通
思路:
#include
#include
#include
#include
using namespace std;
const int N = 105;
int n;
v...
分类:
Web程序 时间:
2014-10-20 17:19:26
阅读次数:
196
HDU 3639 Hawk-and-Chicken
题目链接
题意:就是在一个有向图上,满足传递关系,比如a->b, b->c,那么c可以得到2的支持,问得到支持最大的是谁,并且输出这些人
思路:先强连通的缩点,然后逆向建图,对于每个出度为0的点,进行dfs求哪些点可达这个点
代码:
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-10-20 13:33:38
阅读次数:
170
HDU 3861 The King’s Problem
题目链接
题意:给定一个有向图,求最少划分成几个部分满足下面条件
互相可达的点必须分到一个集合
一个对点(u, v)必须至少有u可达v或者v可达u
一个点只能分到一个集合
思路:先强连通缩点,然后二分图匹配求最小路径覆盖
代码:
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-10-20 00:56:11
阅读次数:
211
HDU 1827 Summer Holiday
题目链接
题意:中文题
思路:强连通缩点,每个点的权值为强连通中最小值,然后入度为0的点就是答案
代码:
#include
#include
#include
#include
#include
using namespace std;
const int N = 1005;
const int INF = ...
分类:
其他好文 时间:
2014-10-19 23:21:42
阅读次数:
244
HDU 1269 迷宫城堡
题目链接
题意:中文题
思路:强连通模板题
代码:
#include
#include
#include
#include
using namespace std;
const int N = 10005;
int n, m;
vector g[N], scc[N];
int pre[N], lowlink[N], sccno[...
分类:
其他好文 时间:
2014-10-19 17:07:43
阅读次数:
189
题目链接
题意:求解Bottom(G),即集合内的点可以互相到达。
思路:有向图的强连通,缩点,找出出度为0的点,注意符合的点要按升序输出。
代码:
#include
#include
#include
#include
using namespace std;
const int MAXN = 5010;
const int MAXM = 50010;...
分类:
其他好文 时间:
2014-10-18 11:17:28
阅读次数:
175
题目链接
题意:给出一张有向图,判断图上的任意两个点是否存在一条路可达(单向可达即可)。
思路:有向图找出强连通分量,然后缩点,因为题目要求任意两点存在可达的路,所以缩点之后的点,要形成一条单链,才能符合可达的要求,在这里用DP求最长路来判断是否能形成一条单链。
代码:
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-10-18 11:15:10
阅读次数:
170
题目链接
题意:一个有向图,每对一个结点操作,就可以触发连锁反应,使得该结点及它直接或间接指向的点均获得标记,问至少需要操作多少个结点使得所有结点获得标记
思路:有向图的强连通分量,用Tarjan缩点之后找出入度为0的点的个数,即为答案。跟UVA11504一样的题目。
UVA11504
代码:
#include
#include
#include
#...
分类:
其他好文 时间:
2014-10-17 16:57:26
阅读次数:
169