定义 给定一棵有根树,若结点 z 既是结点 x 的祖先,也是结点 y 的祖先,则称 z 是x,y的公共祖先。 在 x,y 的所有公共祖先中,深度最大的一个称为 x,y 的最近公共祖先,记为LCA(x,y)。 LCA(4 , 7) = 2,LCA(6,7) = 5 实现 暴力大法好 若求LCA(4 , ...
分类:
其他好文 时间:
2020-02-04 00:26:56
阅读次数:
62
并查集: $Kruscal$,$Tarjan$求$LCA$ 分类并查集:食物链,团伙(敌人的敌人是我的朋友) 带权并查集:$SDOI2016$齿轮(可用 Luogu3101 滑雪等级 "[]" 建边:任意相邻两格子之间建边,权值为海拔差 将边排序,从小往大一个一个往里加,当一个并查集内部有起点,并且 ...
分类:
其他好文 时间:
2020-02-03 22:51:21
阅读次数:
153
显然81篇题解是有点多了,~~不让我提交~~。 更为不好的是没有一篇详细的$tarjan$(~~不过我也不会写详细的~~)。 不过$tarjan$并没有我们想象的那样难理解,时间也并不爆炸(巧妙的跳过难写二字)。 好了,下面说一说吧: $LCA$是什么该都知道吧(~~都翻到我博客了qwq~~) 前言 ...
分类:
其他好文 时间:
2020-02-03 19:15:05
阅读次数:
60
``` #include #include #include #include using namespace std; const int N=6e5; int n,m,s,t,tot=0,f[N][20],d[N],ver[2*N],Next[2*N],head[N]; queue q; voi... ...
分类:
其他好文 时间:
2020-02-03 16:12:03
阅读次数:
74
题意: camp国有n座城市,由1,2,...,n编号。城市由n–1条双向道路相连。任意两个城市之间存在唯一的道路连通。有m个旅行商,第i个旅行商会从城市ai旅行到城市bi,贩卖ci件商品。已知第i个城市的居民最多购买wi件商品,bobo想知道旅行商们能够卖出商品数量的最大值。 n,m<=20000 ...
分类:
其他好文 时间:
2020-02-02 21:52:52
阅读次数:
79
题目链接: "http://poj.org/problem?id=1679" 题目大意: 给你一个简单连通图,判断他的最小生成树是否唯一。 解题思路: 首先(我这里用Kruskal算法)求出它的最小生成树(以下简称MST)以及对应的边,然后构造出这棵MST。 然后我们枚举图上每一条不在此MST上的边 ...
分类:
其他好文 时间:
2020-02-02 19:56:59
阅读次数:
91
最近公共祖先 [TOC] 定义:给定一颗有根树,若结点 z 既是 x 的祖先,也是 y 的祖先,则称 z 是 x,y 的公共祖先。 在 x,y 所有的公共祖先中,深度最大的一个称为 x,y 的最近公共祖先,简称$LCA(x,y)$。 求解最近公共祖先一般有三种解法:向上标记法,树上倍增法和 Tarj ...
分类:
其他好文 时间:
2020-02-02 16:13:11
阅读次数:
118
2月4号前 "$P4281$" 方法:$3$次$LCA$ 2月5日前 "$P3478$" 方法:换根$dp$ ...
分类:
其他好文 时间:
2020-02-02 15:25:11
阅读次数:
43
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 N,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 N?1 行每行包含两个正整数 x,y,表示 x 结点和 y 结点之间有一条直接连接的边(数据保证可以构成树)。 接下来 M ...
分类:
其他好文 时间:
2020-02-01 21:10:47
阅读次数:
74
1775:梦中漫步时间限制: 1000 ms 内存限制: 262144 KB【题目描述】梦游中的你来到了一棵N个结点的树上。你一共做了Q个梦,每个梦需要你从点u走到点v之后才能苏醒。由于你正在梦游,所以每到一个结点后,你会在它连出去的边中等概率地选择一条边走过去。为了确保第二天能够准时到校,你要求出 ...
分类:
其他好文 时间:
2020-02-01 01:05:20
阅读次数:
119