摘要: 树上差分 对于一条路径 $u v$ 来说,设 $t=LCA(u,v)$ ,d[]为差分数组 ,则有 d[u]++;d[v]++;d[t] ;d[fa[t]] ; 注意:题目中所给的路径上的点都多计算了一次,统计答案时要减去 cpp include include include include us 阅读全文
posted @ 2018-02-04 17:01 Mr_Wolfram 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 树剖求LCA 我们可以发现,两条路径ab,cd相交,当且仅当 dep[lca(a,b)] =dep[lca(c,d)]&(lca(lca(a,b),c)==lca(a,b)||lca(lca(a,b),d)==lca(a,b))或把abcd交换一下即可 cpp include include inc 阅读全文
posted @ 2018-02-04 10:51 Mr_Wolfram 阅读(195) 评论(0) 推荐(0) 编辑