
最近公共祖先
文章平均质量分 82
even_bao
这个作者很懒,什么都没留下…
展开
-
【USACO】 Max Flow
【题目链接】 点击打开链接【算法】 LCA + 树上差分【代码】 #include<bits/stdc++.h>using namespace std;int i,x,y,N,K,l,maxn;int anc[50010][50],d[50010],sum[50010];vector<int> E[50010];v...原创 2018-02-14 14:59:35 · 272 阅读 · 0 评论 -
【USACO】 奶牛政坛
【题目链接】 点击打开链接【算法】 tarjan算法求LCA【代码】 #include<bits/stdc++.h>#define MAXN 200010#pragma GOC optimize("O2")using namespace std;int n,k,i,p,fa,q;int a[MAXN],visit[MAXN],p...原创 2018-02-14 15:05:23 · 341 阅读 · 0 评论 -
【POJ 1330】 Nearest Common Ancestors
【题目链接】 点击打开链接【算法】 倍增法求最近公共祖先【代码】 #include <algorithm>#include <bitset>#include <cctype>#include <cerrno>#include <clocale>#include <cmat...原创 2018-05-26 11:25:09 · 156 阅读 · 0 评论 -
【POJ 1470】 Closest Common Ancestors
【题目链接】 点击打开链接【算法】 离线tarjan求最近公共祖先【代码】 #include <algorithm>#include <bitset>#include <cctype>#include <cerrno>#include <clocale>#include <...原创 2018-05-26 20:07:25 · 218 阅读 · 0 评论 -
【HDU 4547】 CD操作
【题目链接】 点击打开链接【算法】 分四种情况讨论 : 1. 当前目录和目标目录是同一目录,不需要变换,答案为0 2. 当前目录是目标目录的祖先,答案为当前目录的深度 - 目标目录的深度 3. 当前目录是目标目录的孩子,答案为1 4. 当前目录和目标目录有最近公共祖先,答案为当前目录的深度 ...原创 2018-05-26 21:04:44 · 366 阅读 · 0 评论 -
【BJOI 2018】 求和
【题目链接】 点击打开链接【算法】 预处理i^k的前缀和,对于每次询问,树上倍增即可 时间复杂度 : O(nk + mlog(n))【代码】 #include<bits/stdc++.h>using namespace std;#define MAXK 55#define MAXN 300010#de...原创 2018-06-04 22:19:18 · 269 阅读 · 0 评论 -
【BZOJ 3732】 Network
【题目链接】 点击打开链接【算法】 求出这个图的最小生成树,对于每次询问,用倍增法求出最近公共祖先,查询最小生成树上两点路径上的最大值 算法的正确性? 假设x和y在最小生成树中路径上的最长边为p,那么,根据kruskal算法的执行过程,我们发现p合并 了x和y所在的集合 假设有一条...原创 2018-06-04 22:28:13 · 168 阅读 · 0 评论 -
【BZOJ 5165】 树上倍增
【题目链接】 点击打开链接【算法】 树上倍增,时间复杂度 : O(qklog(n))【代码】 #include<bits/stdc++.h>using namespace std;#define MAXN 3000010#define MAXLOG 18const int INF = 1e8;int T,tot = 1...原创 2018-06-05 19:09:46 · 414 阅读 · 0 评论