题意 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于l的点有多少个 题解 似乎有好多种做法啊……然而蒟蒻只会打打主席树的板子…… 调了一个上午一直WA……狠下心来重打一遍居然直接一遍过…… 先dfs一遍,把到根节点的距离算出来,然后建出树上的主席树 然后考虑,$d[v]-d[u]<=L$,$d[v]<=L+d[u]$ 然后就是对于每一个$d[u]+L$查询一下区间内有多少比它小的就好 细节问题:因为不能保证$d[u]+L$在离散化后的数组内存在,所以要用upper_bound,…