一开始想给i只加一条ai的链,然后发现不太对,取中点取到非原树上的点,并且还要特判u=v
然后看题解发现加两条链就都解决了
然后变成动态直径问题:
https://blog.csdn.net/weixin_62887323/article/details/128667759
大概是求出欧拉序,然后选一条路径相当于选u、v、lca,把lca改为欧拉序中u~v上任意一个k
然后发现k只可能往lca下取,即结果会变小,不影响答案,所以等价与原问题
然后线段树维护dp(按顺序选u、k、v),合并时考虑两边的选择来归并即可
代码无