图论-LCA
LingFengNJT
这个作者很懒,什么都没留下…
展开
-
☆P2491 [SDOI2011]消防-树的直径,LCA,dfs,倍增
某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000)。这个国家的人对火焰有超越宇宙的热情,所以这个国家最兴旺的行业是消防业。由于政府对国民的热情忍无可忍(大量的消防经费开销)可是却又无可奈何(总统竞选的国民支持率),所以只能想尽方法提高消防能力。现在这个国家的经费足以在一条边长度和不超过s的路径(两端都是城市)上建立...原创 2018-10-14 14:54:35 · 239 阅读 · 0 评论 -
P3128 [USACO15DEC]最大流Max Flow-LCA,差分 ,倍增,dfs
FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。https://www.luogu.org/problemnew/...原创 2018-10-09 10:27:21 · 234 阅读 · 0 评论 -
【模板】最近公共祖先(LCA)
定义LCA,最近公共祖先,是指一棵树上两个节点的深度最大的公共祖先。也可以理解为两个节点之间的路径上深度最小的点。我们这里用了倍增的方法求了LCA。我们的基本的思路就是,用dfs遍历求出所有点的深度。f[i][j]数组用来求的是距离节点i,距离2^j的祖先。可以知道,f[i][0]就是它的直接父亲。然后通过倍增的思路求出father数组的所有元素。然后进行lca。求lca的基本思路是:先让...原创 2018-10-09 10:46:35 · 257 阅读 · 0 评论