摘要: LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 (来自百度百科) 一.倍增求LCA 预处理出距点u距离为2^0,2^1,2^2...的点作为f[u][0],f[u][1],f[u][2]... d[u]记录点u的深度 用二 阅读全文
posted @ 2019-04-02 21:51 LuitaryiJack 阅读(294) 评论(1) 推荐(1) 编辑
摘要: 本来抄了篇题解,后来觉得题解都太不友好(我太菜了),一气之下自己打。。。一打打到第二天QAQ 首先什么边也不加时,总路程就是2*(n-1) 考虑k=1的时候,答案显然是2*(n-1)-直径+1=2*n-直径-1,如果能加一条边的话,因为希望减少的尽可能多,那么只需要把直径的首尾接起来,就不需要来回走 阅读全文
posted @ 2019-04-02 00:51 LuitaryiJack 阅读(190) 评论(0) 推荐(1) 编辑