题意:给定一颗树,每个叶子节点\(u\)都有权值\(val[u]\),求每个非叶子节点子树的最小叶子距离,若该子树只有一个叶子节点,输出INF 貌似本来是一道树分治(并不会)的题目,然而可以利用平衡树进行离线合并,边统计边更新 一开始没有想到这种方法,看了别人家的代码后觉得真是清晰明了 set交换后无需额外在dfs维护和叶节点更新后置为INF满足题意的单一叶子情况确实是不错的trick,值得学习 #include<bits/stdc++.h> #define rep(i,j,k) for(re…