并查集
spzb
这个作者很懒,什么都没留下…
展开
-
bzoj2870: 最长道路tree
原题 这是一道权限题 一开始就想到可以从大到小加点,这样路径最小值就确定是VxV_xVx 然后我想到是用LCT维护,然后被题解吊锤了 讲一下如何维护,并查集记录这个联通块的直径,和直径的两个端点 对于合并,你惊讶的发现两个联通块最终的直径的端点一定在四个原端点之间,可以直接枚举,取最长的一对 至于距离,你发现距离就是最开始树上的距离,这个想怎么算怎么算 #include <cstdio...原创 2019-02-28 13:27:00 · 164 阅读 · 0 评论 -
bzoj4793: [CERC2016]机棚障碍 Hangar Hurdles
bzoj权限题,可以去洛谷上交 先考虑每个点最大可以放多大的箱子,这需要求出离他最近的障碍距离, 这可以从障碍开始bfs,仔细观察发现要像八个方向bfs。 原题就变成了求两点之间的路径上的最小值,这显然路径在最大瓶颈生成树上最优的。点权改成边权,边权是两点之间的最小值,然后用kurskal求出最小生成树。 然后介绍一个不用树剖的方法,用kurskal求的时候并查集按秩合并,这样可以保持最小生成树...原创 2019-02-17 19:41:42 · 268 阅读 · 0 评论