对于一次操作,可以二分一个答案mid,判断权值大于mid的路径是否全部经过这个点。如果是 ,那么这次询问的答案在[l,mid-1]之间,否则在[mid,r]之间。
判断是否所有的路径经过一个点:等价于数经过这个点的路径条数,对于一条路径(u->v),可以在u,v处+1,在lca处-1,在fa[lca]处-1,然后询问一个点的子树和即可。
#include #include #include #include #include #include #include #include #include #include