题目:给你一些有向边(端点,长度为1),判断给定的图是否是一棵树。
分析:图论,并查集。树是一个所有点都连接的有向无环图(不连接的是森林)。
按照树的定义判断是否有环即可,有环分成两种:
1.链状环;2.存在节点有多个父亲节点;
这两种情况,只要用并查集在合并前判断是否数以一个集合即可,
...
分类:
其他好文 时间:
2014-10-04 22:57:57
阅读次数:
253
题意:经典的拓扑排序。有n个任务,然后某些任务必须安排在某些任务前面完成,输出一种满足要求的序列。分析:拓扑排序用离散里面的话来说就是将偏序关系拓展为全序关系。我们将“小于”这种关系看做一条有向边,如果得到的图是有向无环图DAG(Directed Acyclic Graph),则是存在拓扑排序的,如...
分类:
其他好文 时间:
2014-09-24 19:34:57
阅读次数:
210
有向无环图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次)。 最小路径覆盖就是找出最小的路径条数,使之成为原图的一个路径覆盖。 公式:最小路...
分类:
其他好文 时间:
2014-09-19 01:08:54
阅读次数:
396
点击打开链接
有向无环图的最小路径覆盖 = 顶点数- 最大匹配
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 150;
int g[maxn][maxn];
int n, m;
int link[maxn];
bool used[maxn];
bool...
分类:
其他好文 时间:
2014-09-18 11:30:34
阅读次数:
154
想象一下有如下情形:代码库中存在两个分支,并且每个分支都进行了修改,最后你想要将其中的一个分支合并到其他的分支中。
那么要问合并的处理过程是怎么样的呢?Git是对每个分支,依据分支的历史数据按照序列化操作,还是它只是合并每个分支里文件的最后版本?这是一个问题,我想对git的merge操作有必要进行分析一下。
回忆一下,我们知道Git的版本库内部结构是以有向无环图(directed...
分类:
其他好文 时间:
2014-09-17 23:23:23
阅读次数:
420
题意:
给定一个有向图,求有多少个顶点是由任何顶点出发都可达的。
顶点数
定理:
有向无环图中唯一出度为0的点,一定可以由任何点出发均可达
(由于无环,所以从任何点出发往前走,必然终止于一个出度为0的点)
1. 求出所有强连通分量
2. 每个强连通分量缩成一点,则形成一个有向无环图DAG。
3. DAG上面如果有唯一的出度为0的点,则该点能被所有的点可达。那么该...
分类:
其他好文 时间:
2014-09-15 21:19:19
阅读次数:
253
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5005
题目巨长,所以不贴题目了,直接说大意(话说大意也不短。。。。)。
题目大意:有两个人A和X,给一个有向无环图(DAG),每一个出度为0的节点(下面称这些节点为“叶子节点”)有两个权值x和y(所有的x,y都不一样,这点非常重要)。除了叶子节点,其他所有节点都都由A或X控制。如果当前位置...
分类:
其他好文 时间:
2014-09-13 21:29:55
阅读次数:
182
就是看是否有一些点,从其他任何点出发都可到达定理:有向无环图中唯一出度为0的点,一定可以由任何点出发均可达。所以缩点,若出度为零的点(强联通分量)唯一,则答案为该强联通分量中点的度数。若不唯一,答案为0,易证。Code(懒得Tarjan,用了两次DFS): 1 #include 2 #include...
分类:
移动开发 时间:
2014-09-09 19:52:19
阅读次数:
259
题目链接题意:给定一个有向无环图(DAG),上面放有一些旗子,旗子可以重合,两个人轮流操作,每次可以把一个旗子从一个位置移动到相邻的位置,无法移动时输,询问先手是否必胜。这道题可以把每个旗子看作单独的一个游戏,那么所有这些旗子的状态SG值,就是这些旗子各自SG值的Xor和,可以记忆化搜索dfs,暴力...
分类:
其他好文 时间:
2014-09-08 00:56:26
阅读次数:
675
图的连通性
有向无环图中唯一出度为0的点,一定可以由任何点出发均可达(由于无环,所以从任何点出发往前走,必然终止于一个出度为0的点)
有向无环图中所有入度不为0的点,一定可以由某个入度为0的点出发可达。(由于无环,所以从任何入度不为0的点往回走,必然终止于一个入度为0的点)
假定有 n 个入度为0的点,m个出度为0的点,max(m,n)就是第二个问题的解
无向连通图中,如果删除某点后,图变...
分类:
其他好文 时间:
2014-09-07 11:04:05
阅读次数:
157