
LCA
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
poj3417 Network(树上差分)
题意给出一棵树,再给出几条附加边,使得树存在环。求割掉一条主要边和一条附加边能让树不连通的方案数。题解lca+树上差分观察题目中附加边的特点,连接(x,y)的附加边使得(x,y)之间的连接方式又增加了1。不妨设一开始的连接方式为0。一条附加边可以使(x,y)之间的主要边的连接方式+1。如果割一条边被加到了2或以上,说明割掉这条主要边之后还得再割两条附加边,无法做到。如果只被加到...原创 2018-10-14 11:26:32 · 332 阅读 · 0 评论 -
CH#56C 异象石(LCA)(DFS序)
题目Adera是Microsoft应用商店中的一款解谜游戏。异象石是进入Adera中异时空的引导物,在Adera的异时空中有一张地图。这张地图上有N个点,有N-1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一:1. 地图的某个点上出现了异象石(已经出现的不会再次出现);2. 地图某个点上的异象石被摧毁(不会摧毁没有异象石的点)...原创 2018-10-14 11:34:57 · 593 阅读 · 0 评论 -
poj3417 Network(tarjan)(lca)(并查集)
题意给出一个图,然后执行Q个操作,每次往里面添加一条边,并输出桥(割边)的数量。题解tarjan+lca+并查集(路径压缩)用tarjan很容易求出原图中所有的桥。考虑加边的情况。如果加在一个e-dcc中,不必理会。如果不是,那么从x到y一路上的桥都将消失。处理这个问题,只需要把(x,y)路径上所有边都枚举一下,如果bridge[i]==true,那么ans--。因为这段路上的...原创 2018-10-14 12:12:15 · 332 阅读 · 0 评论 -
洛谷1967 货车运输(最大生成树)(LCA)
题目A国有n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。题解最大生成树+lca求最小边权有这么多条边,但每次都只会走那几条边权最大的边,其实,就是一棵最大生成树嘛。把树找到后,设d[x][i]表示从x到f[x][i]中的最小边权,d[...原创 2018-10-19 07:00:52 · 407 阅读 · 0 评论 -
洛谷4374 [USACO18OPEN]Disruption(树链剖分)|(LCA+并查集)
题目洛谷4374 [USACO18OPEN]Disruption题解1:在线树链剖分+线段树维护最小值一条新路(x,y,c)影响的是树上(x,y)间的所有路径,要取min,很容易想到用线段树维护。题解2:离线排序+并查集可以把所有新路递增排序,所以前面更新过的路后面一定不会再更新。暴力的话就是把(x,lca)和(y,lca)的路径全部走一遍。一种巧妙的方法是用并查集做路径...原创 2018-10-27 09:32:14 · 344 阅读 · 0 评论