Luogu4775 [NOI2018] 情报中心
题意 :给出一棵
给出树上的
选出两条路径,使得两条路径至少有一条公共边,且两条路径的并的边权和减去花费和最大。或指出不存在满足要求的方案。
多组数据,
本大胖题的阳间做法,不用分类讨论了!
对于给出的花费为
可能的两种合法方案如图。对于两种情况,收益的两倍均为 :
然后求出最大的
这可以看做将
选择
这是经典的树上(带权)最远点对问题,有结论 :
记
为树上点集 的最远点对。 对于
,有
利用这个结论,只需计算
使用
记
对于
对于路径
它们不能出现在
使用树上差分,我们在
用线段树合并维护,在合并时即可获得不同子分支之间的贡献。
复杂度