题目大意:给你一棵树,有n-1条边,每条边都有方向,每个顶点有权值,给出weak pair的定义是val[u]*val[v] <=k,u是v的祖先,问有多少对这样的顶点 思路:创建线段树,通过dfs动态创建,每次都不断更新.因为我们只能是根节点开始往下的,所以我们遍历到兄弟节点的之前要把其他的兄弟节点的信息给删除掉.(这就和用vis标记一样的,一会儿变为true,一会儿变为false) 不过我很奇怪,为啥我的代码没有吧k/a[i]放进去就迷之RE了 当然,这道题也可以用主席树做,也可以用trea…