![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCA
jvruo_shabi
这个作者很懒,什么都没留下…
展开
-
[AHOI2008]紧急集合 / 聚会
传送门 这题题面有毒,其实就是让你求将树上三个点都移到任意一点,三个点最少一共经过多少条边。 在某种意义上可以理解为三个点的LCA? 显然我们会将这三个点移到其中两个点的LCA上去。那么具体选择哪个LCA呢? 我们发现,要么三个点的LCA都相同,这个时候只有一种选择;绝对不可能出现三个点的LCA都不同的情况。很容易证明,这里略去。 那么如果有两个点的LCA相同呢?我们会选择那个“与众不同”的LCA。 因为我们如果选这两个相同的LCA做三个点的相遇点,就会产生两个点经过了重复的边的情况,血亏啊。 结合一张图来原创 2020-11-15 12:10:58 · 255 阅读 · 0 评论 -
【NOIP2013 Day1T3】货车运输
这道题目质量很高啊…… 很容易想到一个Floyd的暴力算法:O(N3)O(N^3)O(N3) 求出每个点之间的最长路,超时炸空间。 我们发现这道题的”最短路“有些特殊:不是求和而是求出路径上的权值最小的一条边的权值。 我们发现,图中的很多边是一定不会经过的,举例来说: 在这个图中,显然 2→42\rightarrow42→4 这条边我们无论如何是不会经过的。因为如果我们想要从点 222 走到点 444,2→1→42\rightarrow 1\rightarrow 42→1→4 明显是更好的选择。同样,如原创 2020-11-14 18:18:06 · 149 阅读 · 0 评论