![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LCT
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
Link Cut Tree学习小记
前言其实我早就知道Link Cut Tree 是什么东东,可是懒癌晚期不想仔细学。 简单点说就是动态的树链剖分,因为我们链剖用的是线段树,死在那里。 既然要用动态,那么肯定要用平衡树来维护啦,我们选择splay。 如果不会splay的还是别看了,splay学习小记一些东西其实这个东西杨哲的集训队作业也是有的,大家可以先去看一看。 我们把之前访问到的点称作偏爱点,从根到偏爱点的路径叫做偏爱路径原创 2016-09-03 16:09:59 · 833 阅读 · 0 评论 -
[CF1109F]Sasha and Algorithm of Silence's Sounds
Description给出一个n * m的网格图,保证所有位置上的数形成一个1 ~ n* m的排列。问有多少个值域区间[l,r]满足,[l,r]的数在网格图上的位置形成一棵树这里的树指四连通求导出子图的意义下无环且只有一个连通块。n*m<=200000,n,m<=1000Solution维护一条扫描线,对于扫到的右端点r,我们需要求出最左的左端点L,满足[L,r]无环这个...原创 2019-02-27 11:48:55 · 265 阅读 · 0 评论 -
【清华集训2017模拟12.10】回文串
DescriptionNYG 很喜欢研究回文串问题,有一天他想到了这样一个问题: 给出一个字符串 S,现在有 4 种操作: • addl c :在当前字符串的左端加入字符 c; • addr c :在当前字符串的右端加入字符 c; • transl l 1 r 1 l 2 r 2 :取出 S 的两个子串 S[l 1 …r 1 ],S[l 2 …r 2 ],现在 NYG想把前一个字符串变换为后原创 2017-12-09 21:39:36 · 680 阅读 · 0 评论 -
【HNOI2016模拟4.4】Alphadog
Description n<=1e5,字符集大小<=26Solution我们把原串的回文树建出来,以下讨论的都是fail树 设X为x这个字符在回文树上所对应的点 Y为y这个字符在回文树上所对应的点 可以发现LCP(x,y)等价于LCA(X,Y)的长度 也就是我们要动态维护∑Xlen(LCA(X,Y))\sum_{X}len(LCA(X,Y)) 先考虑N^2暴力 维护每个点的子树中有多少原创 2017-07-14 22:08:18 · 514 阅读 · 0 评论 -
[完结撒花]sone0补完计划
原题传送门 终于下定决心来开这个坑 看看我在中考前能写多少分吧UPD:完成成就\(^o^)/~。。。原创 2017-05-28 10:11:52 · 819 阅读 · 2 评论 -
【SDOI2011】染色
Description给出一棵树,每个点有颜色。 m次操作,每次操作把一条路径上的颜色都修改成c, 或询问一条路径上的颜色段数。 n,m<=10^5Solution简单的链剖题。 每个区间维护颜色段数和左右端点的颜色就好了。 然而这道题会爆栈!!! 于是我方了~~ 然后就滚回去写LCT了。 为了练手我就写了个静态LCT(然并卵) 然后发现x=y时跪了。。。 有点奥妙重重啊233C原创 2016-09-07 20:17:26 · 1042 阅读 · 0 评论 -
【NOI2014】魔法森林
Description原创 2016-09-05 20:18:35 · 694 阅读 · 0 评论 -
【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
Description给出一张n个点m条边的无向图,q次询问每次询问只有编号为l到r之间的边可以使原图有多少个联通块。 n,m,q<=200000Solution这种东西很显然用并查集离线啦。 然而怎么删除是个问题。 Orz Drin_E神奇莫队梦想过。 我们这样想,维护一个数组,某一位为1表示这一条边在并查集里,0表示不在。加边的顺序是从左到右。 枚举左端点,构出这个数组,然后就可以用树原创 2016-09-03 16:36:53 · 913 阅读 · 0 评论 -
LCT操作模板
accessvoid access(int x) { int y=0; while (x) { splay(x,0); f[t[x][1]]=0;p[t[x][1]]=x; t[x][1]=y;f[y]=x;p[y]=0; updata(x); y=x;x=p[x]; }}makerootvoi原创 2016-09-03 16:11:51 · 1167 阅读 · 0 评论 -
[校内模拟]喜欢最最痛
Description有一棵n个点的树,边有边权。有m条额外边,第i条的边权为ai,对于每个i∈[0,m],问加入前i条额外边后,从1出发经过所有树边至少一次最后回到1的最短路径的长度。n,m<=10^5Solution容易发现这题分为两部分,先求出an[i]表示选择树上i条不相交的链的长度最大值,然后对于每个前缀i,求一个j,使得an[j]-前i个a的前j小最大an的话可以考虑...原创 2019-06-27 22:14:13 · 500 阅读 · 0 评论