LCA
良月澪二
EU gosto de música
展开
-
CF1062E Company
题目链接:传送门 翻译那边有 要知道 树上一个区间的公共lca是区间dfs序的最小值和最大值对应的两个点的lca 证明可以去网上找 删掉dfs最大或最小的点 然后再通过一次dfs序最大值最小值找出相应的次大和次小 所以只要找出dfs序的最大次大和最小次小就可以了 线段树维护一下 有些小细节 #include <iostream> #include <cstdio> #inc...原创 2019-04-27 19:42:19 · 253 阅读 · 0 评论 -
BZOJ 3732: Network
题目链接:传送门 kruskal重构树 板子到不想写… 那么这是个什么东西呢? 构造很简单 我们在构造生成树的时候 每遇到两个不在同一集合的节点 就新建一个节点并将这个节点设为那两个节点的父亲 将新建节点的权值设为原来两个节点之间的边权 这样就将边权转化成了点权 由于我们的边权是有序的 所以重构出的树的根节点的权值一定是最大的或者是最小的 可以举一个例子自己构造试一下 比如: 1 3 2 3 4 ...原创 2019-07-29 09:33:10 · 215 阅读 · 2 评论 -
Luogu P4281 [AHOI2008]紧急集合 / 聚会
题目链接:传送门 在一个5e5点数的图中,5e5个询问每次询问给出三个点,问哪个点是这三个点到那个点的距离之和最小,输出那个点和最小的距离和 要往LCA上想 设那个点为x,三个点中的任意两个点为a,b 无论你的x放到哪里,都有路径a->x->b 所以这个路径是确定的 那么现在需要让第三个点到x的距离最小 显然第三个点跟x重合的时候距离最小 所以变成了求三个点lca的问题 如果三个点的l...原创 2019-08-04 17:07:37 · 221 阅读 · 0 评论