LCA
jinglinxiao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA-11354-Bond(树上倍增,dp,MST,LCA)
题目链接:UVA-11354-Bond首先,最大边最小的路径称为最小瓶颈路,最小瓶颈路一定是最小生成树上的路径(根据Kruskal)。 因此先处理处最小生成树,然后将最小生成树转化成一棵有根树。 anc[i][j]anc[i][j] 为点 ii 的第 2j2^j 层祖先,如: anc[i][0]=fa[i]anc[i][0]=fa[i] 。 cost[i][j]cost[i][j] 为点 ii原创 2017-03-28 17:32:41 · 461 阅读 · 0 评论 -
HDU-2876-Connections between cities(LCA)
题目链接:HDU-2876-Connections between cities设置一个新结点为根节点,每个联通集连一条边到根节点,如果LCA是根节点的话就是not connected.#include<bits/stdc++.h>using namespace std;const int maxn=1e4+7;int anc[maxn][16],deep[maxn],d[maxn],k;b原创 2017-03-28 19:18:24 · 287 阅读 · 0 评论 -
POJ-2763-Housewife Wind(LCA+dfs序线段树)
题目链接:POJ-2763-Housewife Wind有边权修改的树中两点距离查询。 因为有边权修改,所以用线段树维护到根的序列。 LCA求距离。 这题有个坑点就是不能用vector#include<cstdio>#include<cstring>#include<vector>using namespace std;const int maxn=1e5+7;int a[maxn]原创 2017-03-28 21:50:53 · 552 阅读 · 0 评论 -
HDU-2586-How far away ?(倍增求LCA模板)
题目链接:HDU-2586-How far away ?倍增求LCA: 1.先转化成有根树。 2.dfs求出每个点的深度 3.初始化anc数组 4.倍增查询#include<bits/stdc++.h>using namespace std;const int maxn=4e4+7;int anc[maxn][20],deep[maxn],d[maxn],k;int rt,n;st原创 2017-03-28 18:33:07 · 787 阅读 · 0 评论
分享