
dfs序
xyc1719
努力会说谎,但努力不会是白费
展开
-
相交(Access)
【一句话题意】有一棵n 个节点,n-1 条边的树。树上有m 条路径,定义两条路径相交仅当这两条路径经过至少一个相同的点。求这m 条路径中选择两条相交的路径的方案数。 【分析】两条树上的链相交的充要条件为:一条链上深度最小的节点(lca)被另一条链所包含。通过欧拉序预处理+树状数组,我们可以通过O(logN)的时间求出一个点到根的路径上的所有点,共有多少个lca。因此我们可以方便的求出一条链上所有点...原创 2018-10-26 07:44:16 · 263 阅读 · 0 评论 -
植物学家
【简要题意】一棵带点权的有根树,其中树根可以转换。每次询问当前根下x节点的子树权值和。 节点数、操作数<=1e5 【分析】 对于任意一个点做根,相当于是在整棵树总的权值中减去根所在的那颗"子树"。可以先固定根,求dfs序确定root所在的位置,再通过lca确定哪棵子树。 【code】 #include<cstdio> #include<cstring> #includ...原创 2019-02-16 15:45:53 · 190 阅读 · 0 评论