
LCA
文章平均质量分 53
wwt9b15bs
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【题解】poj3694 边双联通分量缩点+lca+并查集
题目链接 题目要我们求出每次操作后剩余桥的数量,可以想到首先将图中所有的割边统计并将所有e-DCC缩点得到一棵树。对于每次操作的u,v,考虑u,v是否属于同一e-DCC。显然属于的情况没有影响,而不属于则会使u,v所在e-DCC到lca的路径上的所有边为非割边。利用并查集的路径压缩可以跳过已经是非割边的树边,时间复杂度O(M+QlogN) #include<cstdio> #i...原创 2018-08-31 14:48:48 · 239 阅读 · 0 评论 -
【题解】洛谷P1967货车运输[NOIP2013](同sdoj1807) 最大生成树+lca
题目链接 跑一遍最大生成树,把选出来的边连双向边建树,树上跑lca时加一个容量cap[i][j],表示i点向上跳2^j路径最小值 bfs要判重啊啊啊啊啊啊……因为没判重T过好几次了,不长记性 (注释部分读入挂加了直接WA……不知道为什么,太弱了没看出来,有大佬看出来了请讲一下) #include<cstdio> #include<cstring> #include&...原创 2018-08-27 15:53:11 · 257 阅读 · 0 评论 -
【题解】poj3417 Network 树上差分+lca
题目链接 Description Yixght is a manager of the company called SzqNetwork(SN). Now she’s very worried because she has just received a bad news which denotes that DxtNetwork(DN), the SN’s business rival, i...原创 2018-09-19 06:57:41 · 501 阅读 · 0 评论 -
【题解】CH#56C异象石 LCA+set
题目链接 描述 Adera是Microsoft应用商店中的一款解谜游戏。 异象石是进入Adera中异时空的引导物,在Adera的异时空中有一张地图。这张地图上有N个点,有N-1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一: 地图的某个点上出现了异象石(已经出现的不会再次出现); 地图某个点上的异象石被摧毁(不会摧毁没有异象石的点);...原创 2018-09-19 06:57:46 · 1091 阅读 · 0 评论 -
【题解】洛谷P4180(同bzoj1977)[BJWC2010]【模板】严格次小生成树 LCA+kruskal
题目链接 输入输出格式 输入格式: 第一行包含两个整数N 和M,表示无向图的点数与边数。 接下来 M行,每行 3个数x y z 表示,点 x 和点y之间有一条边,边的权值为z。 输出格式: 包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证必定存在严格次小生成树) 输入输出样例 输入样例#1: 5 6 1 2 1 1 3 2 2 4 3 3 5 4 3 4 3 4 5 6 输出样例#1:...原创 2018-09-19 09:04:28 · 412 阅读 · 1 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第一场)]C.保护 LCA+线段树动态开点+线段树合并
题目链接 ___ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=2e5+10; int n,m,hd[N],tot,dep[N],fa[N][20],ord[N],cnt,q; struct Edge{ int v,nx;...原创 2018-10-28 21:18:49 · 253 阅读 · 0 评论 -
【题解】洛谷P1600[NOIP2016]天天爱跑步 LCA
题目链接 学习了大佬题解,讲的非常清晰。 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> using namespace std; #define PB(v) push_back(v) templ...转载 2018-10-26 17:55:29 · 343 阅读 · 0 评论 -
【题解】洛谷P2680[NOIP2015]运输计划 树链剖分+树上差分+LCA+二分
题目链接 学习了大佬题解,主要思路摘抄如下: 先LCA一遍,记下每个任务的起点,终点,公共祖先,所需时间 然后二分答案,统计不满足答案的任务tot,然后维护一个sum[i], 对于每个不满足条件的任务,sum[起点]++,sum[终点]++,sum[公共祖先]-=2, 并将它们的sum值传到父亲结点,最后看是否能找出某个点i,使sum[i]=tot并且 连到这个点的边权值>= 最大任...原创 2018-11-06 09:26:48 · 288 阅读 · 0 评论 -
【题解】sdoj3740[2018.8.8集训]C.graph 构造+LCA+dfs序+线段树
题目链接 #include<bits/stdc++.h> using namespace std; const int N = 200000 + 10; const long long inf = 1ll<<60; const int maxh = 20; int n, q, a[N*2], b[N*2], c[N*2], rev[N], st[N], ed[N],...原创 2018-11-07 08:53:45 · 214 阅读 · 0 评论