Aizu 2677 Breadth-First Search by Foxpower(LCA)
题意:给一棵根为1的无权树,要按BFS的顺序去走它(如果深度一样,优先走父节点先走的,如果父节点也一样,优先走数字小的),问一共要走多少步(一条边为一步)。
思路:LCA+BFS。按BFS的顺序走,如果出队顺序为1,a,b,c,d……,即从1走到a,从a走到b,从b走到c,从c走到d……。在树上走,两点间的最短距离显然为:d[u]+d[v]-d[LCA(u,v)] (d[x]为x的深度,
原创
2016-07-29 23:43:01 ·
301 阅读 ·
0 评论