[树的点分治] [树形DP] [BZOJ2599] [IOI2011] Race

题目传送门
这题相对POJ2114改了个询问……询问的是等于k 的最少边数……
考虑树形dp……dpi 表示权值为i 的路径所用最少边数。
点分治照常,找到重心分成若干子树,可以统计子树内的点到根的距离和权值。就可以dp了!

dpi=min{dpidisx+depx}

然后就可以统计答案了……
然后再用子树内的点到根的距离更新一遍dpdisx ,这是树分治的情况3。
统计完一个子树的答案,将信息清空,然后递归点分治过程……
时间复杂度我猜O(nlog2n)
Code
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章