随笔分类 - 树 - LCA
摘要:在一棵树上,我们要求点 $(u,v)$ 之间路径的第$k$大数。 对于点 $i$ ,建立 $i$ 到根节点的一棵前缀主席树。 简单容斥后不难得出结果为$sumv[u]+sumv[v]−sumv[lca]−sumv[fa[lca]]$ 其他的和主席树是一样的。 Code:
阅读全文
摘要:两点之间边权最大值的最小值一定在图的最小生成树中取到。 求出最小生成树,进行倍增即可。 Code:
阅读全文
摘要:本题并不需要并查集,每次查询一次最近公共祖先,并倍增求出需要被新标记的路径。这样保证时间复杂度是 O(nlogn)O(nlogn)O(nlogn) 的。Code:#include#includeusing namespace std;const int ma...
阅读全文
摘要:裸题,如此之水…Code:#include#includeusing namespace std;const int maxn = 100000 + 4;const int logn = 25;int f[logn][maxn], head[maxn dep...
阅读全文

浙公网安备 33010602011771号