2500: 幸福的道路

先两遍dfs处理出对于每个点能达到的最大幸福度,

然后问题转化为求序列  最长子段区间最大值与最小值差 <= m的长度

先用st表预处理出 就可以o(n)解决。

c++代码如下:

 

7 + 9 =