参考的大牛的思路和代码思路: 每次经过一个强连通分量时,都可以走完该分量从而使抢得的钱最多,可以把每个强连通分量缩点,用总的钱数代表该点的值。然后重新遍历新图,遇到网吧可以更新一下结果。 1 #include 2 #include 3 #include 4 #include 5 #incl...
分类:
其他好文 时间:
2015-03-08 22:59:23
阅读次数:
227
1 vector G[MAXN]; 2 int pre[MAXN], lowlink[MAXN], sccno[MAXN], dfs_clock, scc_cnt; 3 stack S; 4 void Tarjan(int u) 5 { 6 pre[u] = lowlink[u] = ++...
分类:
其他好文 时间:
2015-03-08 21:20:10
阅读次数:
154
给出一张有向图,图上各点有权值,权值可能为负,选择图上一个顶点出发,每个点的权值可以选择加或者不加,求可能得到的最大权值和。...
分类:
其他好文 时间:
2015-03-08 15:46:15
阅读次数:
127
给出一个有向连通图,求(1)至少从几个点出发可以遍历整张图;(2)至少添加几条边可以使该图变成强连通图。...
分类:
Web程序 时间:
2015-03-08 00:15:14
阅读次数:
209
题目地址:HDU 3639
先用强连通分量缩点,缩点之后,再重新按缩点之后的块逆序构图,每个块的值是里边缩的点的个数,那么得到选票的最大的一定是重新构图后入度为0的块,然后求出来找最大值即可。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
usin...
分类:
其他好文 时间:
2015-03-06 20:49:18
阅读次数:
173
给一张有向图G, 求一个结点数最大的结点集,使得该结点集中任意两个结点u和v满足,要么u可以到达v, 要么v可以到达u(u和v相互可达也可以)。因为整张图可能存在环路,所以不好使用dp直接做,先采用有向图的强连通分量,进行缩点,然后得到一个有向无环图(DAG) 在采用记忆话dp 去做即可#inclu...
分类:
其他好文 时间:
2015-03-06 16:56:55
阅读次数:
121
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4316263.html ---by 墨染之樱花【题目链接】http://poj.org/problem?id=1236【题目描述】给一张有向图,表示学校通信网络,边代表信息可以由u传递到v。现要完...
分类:
Web程序 时间:
2015-03-05 18:46:47
阅读次数:
186
题目大意:给定一张图,从1开始随便走最后回到1,有一次机会可以反向沿着某条边走一次,求最多能经过多少个点
显然如果没有反向的机会的话答案就是1号节点所在强连通分量的大小
现在有了这个机会 那么将某条边反向后 缩点之后的图形成了一个包含1号节点所在强连通分量的环 这样才能使答案增加
将这个环从反向的边和1号节点所在强连通分量处断开 发现这个环被拆成了两条链
一条从1出发,一条指向1
因此缩...
分类:
编程语言 时间:
2015-03-05 14:53:01
阅读次数:
177
题意:
给一个有向图,然后选一条路径起点终点都为1的路径出来,有一次机会可以沿某条边逆方向走,问最多有多少个点可以被经过?(一个点在路径中无论出现多少次(≥\geq1)对答案的贡献均为1)
题解:
首先强连通分量缩点。
然后形成了dfs统计出:
集合A:点 11 能到哪些点,
集合B:哪些点能到点 11
然后这两个集合各为拓扑图。
现在一条从1出发,最后又回到1的最长路径就可以被...
分类:
编程语言 时间:
2015-03-05 14:48:35
阅读次数:
165
题意:给出一个有向图,问是不是仙人掌图。仙人掌图:每个边只在一个普通环内的强连通图。解法:tarjan判断强连通分量是否为1个,记录找环的路径,在每找到一个环时遍历路径记录点出现的次数,如果出现有点被记录两次,则说明有边不只在一个环内。代码:#include#include#include#incl...
分类:
其他好文 时间:
2015-02-28 20:13:46
阅读次数:
152