该解法时间复杂度为O(nlognlogn)。貌似很多大佬都用优秀的O(nlogn)就把题目解决了,这里提供一种时间复杂度并没那么优秀的解法(离线 + dsu on tree + 树状数组)。题意:n个火山形成一棵树,1号火山为根节点,每一个火山都有权值,t[i]表示第i座火山的温度。 对于从根节点出发的链上的点,距离根节点越远,则温度越低。 q个询问:给出三元组{x, l, r},表示从x节点开始蔓延,温度在[l, r]的节点数量是多少(包括x,若t[x]不属于[l, r],则输出0)。分析:既然是蔓延,那么则有两个方向: 往儿子蔓延。 往祖先蔓延(之后可能还会再往祖先的儿子...