Problem
【IOI2011】Race
Description
给一棵树,每条边有权.求一条简单路径,权值和等于,且边的数量最小.,
Input
第一行 两个整数
第二至行 每行三个整数,表示一条无向边的两端和权值 (注意点的编号从开始)
Output
Sample Input
1 | 4 3 |
Sample Output
1 | 2 |
标签:点分治
Solution
生涯的第一道题(虽然是水题)
挺有意思的一道点分治题,把模板稍加变化即可。
用记录每种距离的路径长度的最小值,即记录距离为的路径的长度的最小值。
对于每个点,枚举其所有子结点。当枚举到子结点时,将的深度加上中子结点的深度来更新数组。计算答案并和打擂。
注意在每个点计算答案时值需要重新计算,但此题常数较大,最好不要memset
,可以再一次撤销。
Code
1 |
|