首页 > [AHOI2008]MEET 紧急集合
头像 林思艺
发表于 2020-11-25 16:13:43
题意 PS:(最近好多题题意都好难懂啊QAQ)给你一棵 个节点的树,有 次询问,每个询问给你 三个节点,求树上一个节点使得这三个点到的距离之和最小。每次询问输出这个节点的编号以及路径之和。 分析 考虑每两个节点之间的最短距离就是求这两个点的 ,那么三个点我们可以先两两一组找到 。我们可以发现 展开全文
头像 Kur1su
发表于 2020-12-03 14:42:20
Description 给出一棵树,每次查询给三个点,找到一个集合点,使得三个点到它的距离和最小。 Solution 做法是求LCA(最近公共祖先)给出样例的图,查询情况如下:4 5 6,显然集合点走5这个点最优,总花费为26 3 1,显然集合点走2这个点最优,总花费为52 4 4,显然集合点走4这 展开全文
头像 lifehappy
发表于 2020-11-26 19:50:02
[AHOI2008]MEET 紧急集合 模板题,容易得到集合点一定在之间。 所以我们只要求出三者的然后求一个总距离最小值去更新答案即可。 树链剖分求也算是倍增吧! /* Author : lifehappy */ #include <bits/stdc++.h> using nam 展开全文
头像 hnust_yangyanjun
发表于 2020-11-26 20:57:34
题意:有一颗n个节点的树,现在有m个询问,每个询问给与三个节点,求这三个节点在哪个节点集合时总距离最小?输出集合节点和总距离。 思路:我们知道在树上求任意两个节点可以用lca求取,求三个节点怎么转换成求两个节点呢,我们画一颗树然后任找三个点可以发现两两之间的lca的值要么三个相等,此时该点为集合点, 展开全文
头像 (́安◞౪◟排‵)
发表于 2020-11-28 15:32:02
题目链接: https://ac.nowcoder.com/acm/problem/20532 简化题意 在一棵树上,找到一个点,使得这个点到给定的3个点的距离和最小 分析 问:先考虑简化题目,如果只给定2个点求距离之和最小应该这么做?答:sb题,直接一个LCA模板就行辣,集合点就在2点之间的最短 展开全文
头像 issue是云哥的小迷×呀
发表于 2020-11-27 09:39:32
不会证明,只会观察..... 两点肯定到最好 三点求出两两的,然后....观察!! 发现三点的最短路就是用两条链把三点穿起来 所以距离是两两距离和除以二 然后三个最多有一个和其他的不同 那么就选那个相同的点作为集合点,这样只会有一个点需要多走 #include <iostream> us 展开全文
头像 熠丶
发表于 2020-11-30 12:07:18
做法:LCA 前置芝士: LCA的有关性质:https://oi-wiki.org/graph/lca/#_2 题意: 已知a,b,c,求某点到这三个点的最短距离以及该点的位置 思路: 先求a,b,c两两之间的最近公共祖先,其中可以得到三个点,其中两个点是相同的,取另一个点不与这两个相同的值点 展开全文

等你来战

查看全部