随笔分类 -  树结构

摘要:把s当作树根,把无根树转化为有根树,然后遍历一个层次图,贪心地取每个叶子结点的第k个父亲节点即可。 阅读全文
posted @ 2017-10-27 21:42 JayWang 阅读(256) 评论(0) 推荐(0)
摘要:无向连通图 G 有 n 个点,n-1 条边。点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi, 每条边的长度均为 1。图上两点(u, v)的距离定义为 u 点到 v 点的最短距离。对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生Wu​×Wv​的联合权值。 请问图 G 阅读全文
posted @ 2017-10-27 11:01 JayWang 阅读(172) 评论(0) 推荐(0)
摘要:(本人比较笨,没写LCA,在树上暴力跑过了此题。) 可以证明答案一定在最大生成树上,因为如果答案比最大生成树上的路径更优,那么最大生成树一定不是正确的。反证之。 同时注意到最大生成树过程中是使用了并查集的,所以不会出现某些点“被丢下”的情况,希望读者不必在此纠结。 我们跑完最大生成树之后,已经有了一 阅读全文
posted @ 2017-10-26 18:03 JayWang 阅读(209) 评论(0) 推荐(0)
摘要:题面与官方std详解在最下方。 题意:给出一颗N个节点、N-1条边的无向图(树),给出Q个询问,每个询问有两条路径,求路径覆盖点的个数。其中Nmax=Qmax=200000 思路: 对于在树上的路径,我们可以用LCA解决。 举个栗子,若A与B结点的LCA是C,那么LAB=LAC+LBC。当边权都是1 阅读全文
posted @ 2017-10-22 16:37 JayWang 阅读(350) 评论(0) 推荐(0)
摘要:题面在最下方。 树结构的题做多了就会发现,本题所谓的树网的核(一段偏心距ECC最小的路径)一定是在树的直径上的。 我刚开始做的时候没想到这个,然后写了三个dfs讨论每条直径 Orz 其实只要认识到了这一点,那么这个题maxn=300,轻轻松松打暴力啊! 首先跑一次最短路得到整张图内点对<s,t>的距 阅读全文
posted @ 2017-10-20 11:16 JayWang 阅读(241) 评论(0) 推荐(0)