摘要:
CF#196Bhttp://codeforces.com/contest/338/problem/B题意:在一颗树上,给m个点,求到所有m个点距离不超过d的点的个数,所有路径长度为1。分析:问题转化,就是求一个点是否到离它最远的给定点的距离小于d,先第一遍dfs1求出以当前节点u为根的子树到子树中离它最远的给定点的距离d1[u],和次远的距离d2[u],并且记录下最远距离是从哪个son转移过来的,fo[u];第二遍dfs2求出当前节点从它fa出发能碰到给定点的最远距离up[u],那么对于当前点u,max(d1[u],up[u]),就是u到所有给定点的最远的距离;up[]的可以按照dfs的顺序递 阅读全文
posted @ 2013-08-18 00:16
Rabbit_hair
阅读(984)
评论(0)
推荐(0)

浙公网安备 33010602011771号