![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 71
MTS_ZX
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #493 (Div. 1) E. Good Subsegments 析合树
原题链接 题目描述:给定一个长度为n的排列,每次询问一个区间,有多少个子区间是连续段 解法:建出析合树,考虑询问区间是[l,r][l,r][l,r],设L=l−1,R=r+1;K=lca(L,R)L=l-1,R=r+1; K=lca(L,R)L=l−1,R=r+1;K=lca(L,R)。K的儿子中L的祖先为SLSLSL,R的祖先为SRSRSR。 需要统计以下信息: tottottot:以iii为根的子树内连续段数目 lnlnln:iii所在的儿子序列中,只使用下标小于iii的儿子及其后代组成的连续段数目 r原创 2022-02-26 20:22:45 · 171 阅读 · 0 评论 -
LCT总结
lct这东西一不用就忘了,,,所以在此整理下 lct维护边双联通分量 这类题通常是在一颗树上不停加边,然后询问双联通性。 做法: 我们用并查集维护每个点所属的联通分量,出现联通分量时我们暴力地把这些点缩起来, 并查集指向同一祖先。void del(int x,int rt) { if(!x) return ; fa[x]=rt; del(T[x].son[0],rt);del(T[x].so...原创 2019-02-12 18:45:22 · 210 阅读 · 0 评论