
LCA
oier_forever
这个作者很懒,什么都没留下…
展开
-
Codeforces 609E (Kruskal求最小生成树+树上倍增求LCA)
题面传送门 题目大意: 给定一个无向连通带全分析代码原创 2018-07-10 16:26:42 · 401 阅读 · 1 评论 -
Codeforces 191C (LCA+树上差分算法)
题面传送门 题目大意: 给出一棵树,再给出k条树上的简单路径,求每条边被不同的路径覆盖了多少次分析解决这个问题的经典做法是树上差分算法 它的思想是把”区间”修改转化为左右端点的修改 在树上,每个节点初始权值为0,对于每条路径(x,y),我们令节点x的权值+1,节点y的权值-1,节点LCA(x,y)的权值-2 最后进行一次DFS,求出F[x]表示x为根的质数中各节点的权值之和,...原创 2018-07-07 14:15:51 · 652 阅读 · 1 评论 -
Codeforces 916E(思维+dfs序+线段树+LCA)
题面传送门 题目大意:给定初始根节点为1的树,有3种操作 1.把根节点更换为r 2.将包含u,v的节点的最小子树(即lca(u,v)的子树)所有节点的值+x 3.查询v及其子树的值之和分析看到批量修改子树,我们想到将树上操作转化为区间操作 通过DFS序我们可以实现这一点. 对于每个节点x,我们记录它在前序遍历中的位置l[x],再一次回到x时的序号r[x],则x及其子树的区...原创 2018-07-29 17:11:21 · 300 阅读 · 1 评论