首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
http://poj.org/PRoblem?id=1741
给出一颗n 个节点,n−1 条边的树,询问两点(u,v) 满足起简单路径的长度小于等于k 的方案数,k 为给定常数。
考虑一颗树,那么(u,v) 有两种可能:要么过树根,要么不过树根x。 考虑点分治,如果过x 的话直接递归就好了;不过x 呢,我们可以把所有点到x 的距离d(u,x) 算出来,如果存在两个点(u,v) 满足dis(u,x)+dis(v,x)≤k 就满足条件。但是可能会出现重复的情况,就是这两个点在x 的同一颗子树内,设连接这颗子树与x 的边的另一端点为y,此时他们满足dis(u,y)+dis(v,y)+2dis(y,x)≤k ,判一下减掉就好了。 时间复杂度O(nlog2n) 另外,每次找的树根要尽量是的子树节点数的最大值最小,也就是找重心,否则如果出现一条链那就完了。
索泰发布一款GTX 1070 Mini迷
AMD新旗舰显卡轻松干翻NVIDIA
索泰发布一款GTX 1070 Mini迷你版本:小机
芭蕾舞蹈表演,真实美到极致
下午茶时间,悠然自得的休憩
充斥这繁华奢靡气息的城市迪拜风景图片
从山间到田野再到大海美丽的自然风景图片
肉食主义者的最爱美食烤肉图片
夏日甜心草莓美食图片
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
Dictionary数据类型在Darwin视频服
可穿戴手势识别控制器
网友关注