lca
yp_2013
这个作者很懒,什么都没留下…
展开
-
hdu 5296 Annoying problem
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5296题目大意:给出一棵树,每个边都有一个权值,现在有一个空的集合,两种操作,1 x吧x节点放到集合中(如果还没放入),2 x把x节点从集合中拿出来(已放入)。现在要求将集合中的点之间的边权之和dfn[u] - dfn[ lca(x,u) ] - dfn[ lca(y,u) ] + dfn[ lca(x原创 2016-02-12 16:52:27 · 469 阅读 · 0 评论 -
POJ 2763 Housewife Wind
题意: 知道了一颗有 n 个节点的树和树上每条边的权值,对应两种操作: 【LCA_RMQ+树状数组】 0 x 输出 当前节点到 x节点的最短距离,并移动到 x 节点位置 1 x val 把第 x 条边的权值改为 val 分析: 树上两个节点a,b的距离可以转化为 dis[a] + dis[b] - 2*dis[lca(a,b)] 其中 d原创 2016-02-23 11:09:59 · 268 阅读 · 0 评论 -
RMQ模板hdu 5452
题意:有一棵生成树,有n个点,给出m-n+1条边,截断一条生成树上的边后,再截断至少多少条边才能使图不连通, 问截断总边数?解题思路: 因为只能在生成树上截断一条边(u, v),所以只需要统计以v为根节点的子生成树里的节点与子生成树外的节点的边数就可以了。对于新加入的边(u’, v’)来说,只影响以LCA(u, v)为根节点的子树里面的节点。统计所有答案,扫一遍输出最小即可 dp值记录的是以原创 2016-06-15 19:58:16 · 351 阅读 · 0 评论