题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入输出格式 输入格式: 第一行,n,m 第二行,n个整数,依次代表点权 第三至m+2行 ...
分类:
其他好文 时间:
2018-12-23 20:48:38
阅读次数:
132
在图论中,一个有向图被成为是 强连通的 当且仅当每一对不相同结点 和`v u`到 的路径也存在从 到`u (strongly connected component)`。 比如说这个有向图中,点$1,2,4,5,6,7,8$和相应边组成的子图就是一个强连通分量,另外点$3,9$单独构成强连通分量。 ...
分类:
编程语言 时间:
2018-12-22 20:40:16
阅读次数:
261
LCA指的是最近公共祖先,更具体的意义就不讲了. 求解LCA的方法有很多,这里讲解向上标记法,树上倍增法,tarjan求LCA. 向上标记法 1 从x向上走到根节点,并标记所有经过的节点. 2 从y向上走到根节点,第一次遇到的已标记的节点就是x和y的LCA. 但不难发现,这个算法只适用于求一个点和一 ...
分类:
其他好文 时间:
2018-12-22 18:33:25
阅读次数:
261
代码都是 HDU 2586 "How far away" 为例 倍增求LCA 树上倍增法。 设F[x,k] 表示x的2的k次方辈祖先,即 由x向上走2的k次方到达的节点 F[x,k]=F[F[x][k-1],k-1] 预处理: 这类似于一个动态规划的过程,阶段就是节点的深度,因此,我们可以对树进行b ...
分类:
其他好文 时间:
2018-12-22 11:51:29
阅读次数:
173
http://acm.hdu.edu.cn/showproblem.php?pid=2586 给出一颗树和边权,询问两点距离。 考虑tarjan离线做法,做法很巧妙,当前进行到u,对他的儿子v,当v子树tarjan完成之后把v合并到u上。当遍历完所有v之后,对与u有关的询问进行查找,若第二个询问点v ...
分类:
其他好文 时间:
2018-12-06 20:44:22
阅读次数:
167
"传送门" 仙人掌直径,以前好像模拟赛的时候做到过一道基环树的直径,打了个很麻烦的然而还错了……今天才发现那就是这个的弱化版啊…… 如果是树的话用普通的dp即可,记$f[u]$表示$u$往下最长能伸多少。我们用一个类似tarjan的做法,在dfs的过程中记录dfn和low,如果某条边不在环内,那么这 ...
分类:
其他好文 时间:
2018-11-29 15:28:26
阅读次数:
135
题目大意: 询问一棵树里 u 到 v 的距离 可由 dis[ u到根 ] + dis[ v到根 ] - 2*dis[ lca(u,v) ] 得到 https://blog.csdn.net/csyzcyj/article/details/10051173 ...
分类:
其他好文 时间:
2018-11-26 00:12:02
阅读次数:
199
题目大意: n个点 m条边的图 求大小大于1的强联通分量的个数 https://www.cnblogs.com/stxy-ferryman/p/7779347.html tarjan求完强联通分量并染色后 计算一下每种颜色的个数 就是每个强联通块的大小 #include <stdio.h> #inc ...
分类:
移动开发 时间:
2018-11-24 14:44:28
阅读次数:
196
题目大意: n头牛,m个崇拜关系,并且崇拜具有传递性 如果a崇拜b,b崇拜c,则a崇拜c 求最后有几头牛被所有牛崇拜 强连通分量内任意两点都能互达 所以只要强联通分量内有一点是 那么其它点也都会是 按照崇拜关系 即a崇拜b就连一条a到b的边 tarjan求得所有强联通分量并染色 而把一个强联通分量缩 ...
分类:
其他好文 时间:
2018-11-24 14:32:09
阅读次数:
164
题目描述 Description 一个朋友网络,如果a认识b,那么如果a第一次收到某个消息,那么会把这个消息传给b,以及所有a认识的人。 如果a认识b,b不一定认识a。 所有人从1到n编号,给出所有“认识”关系,问如果i发布一条新消息,那么会不会经过若干次传话后,这个消息传回给了i,1<=i<=n。 ...
分类:
其他好文 时间:
2018-11-23 18:31:02
阅读次数:
153