F. Journey
摘要:
题目链接:这儿题目大意:给一棵树T,每条边都有一个权值,然后又一条新增边,多次询问:从点x到点y在T上走的最短距离,在加上那条新增边之后,最短距离可以减少多少。思路:任意确定一个根root,DFS计算每个点到根的距离dis[],然后每两点间的最短距离为 dis[x]+dis[y]-2*dis[LCA(x,y)]。若新加入一条边u--v,那么如果我们必须经过u--v,那么从x到y的最短距离就为 dis(x,u)+dis(u,v)+dis(v,y)或dis(x,v)+dis(v,u)+dis(u,y)。这样在线处理答案就行。PS:至于求LCA的方法可以参考2007年郭华阳的论文《RMQ&L 阅读全文
posted @ 2013-07-28 17:02 SCNUACM 阅读(312) 评论(0) 推荐(0)
浙公网安备 33010602011771号