Description
题目链接:Luogu 4149
给一棵有 $n$ 个节点的树,每条边有权。求一条简单路径,权值和等于 $k$,且边的数量最小。无解输出 $-1$。
数据范围:$1\le n\le 2\times 10^5$,$1\le k\le 10^6$
Solution
IOI 点分治入门题
为了方便计数,我们采用分别处理每棵子树的方法,而不是容斥(容斥无限 $\text{WA}$ 根本调不出来 QAQ)。
记录 $f_i$ 表示长度为 $i$ 的链包含的最小边数,对于长度大于 $k$ 的链可以直接忽略。
时间复杂度:$O(n\log n)$
Code
1 |
|