随笔分类 -  数据结构—LCT

摘要:如果没有环的话直接LCT 考虑有环怎么办,如果是静态的话就tarjan了,但是这里要动态的缩环 具体是link操作的时候看一下是否成环(两点已联通),成环的话就用并查集把这条链缩到一个点,把权值加给祖先,断开所有splay上儿子。不过父亲这里不用管,就先让他们连着 每次操作的时候都用并查集找到支配点 阅读全文
posted @ 2019-04-18 20:24 lokiii 阅读(178) 评论(0) 推荐(0)
摘要:新姿势,一般来讲LCT只能维护splay重边里的数据,而这里要求维护整颗子树的size 多维护一个sq表示当前点轻儿子的size和,si表示包括轻重边的整颗子树的大小 然后需要改sq的地方是link和access,link是因为给y下面挂了个连着虚边的x点,所以给y的sq加上x的size;acc是改 阅读全文
posted @ 2019-04-17 20:44 lokiii 阅读(148) 评论(0) 推荐(0)
摘要:一直WA……找了半天错的发现居然是解密那里的mask其实是不能动的……传进去的会变,但是真实的那个不会变…… 然后就是后缀自动机,用LCT维护parent树了……注意不能makeroot,因为自动机的根是不会变的(同理也不能翻转区间),其实就是低配LCT(?) cpp include include 阅读全文
posted @ 2018-12-07 10:39 lokiii 阅读(161) 评论(0) 推荐(0)
摘要:只是想复健一下LCT没想到做了不得了的题……调了两天QAQ 题解是这么说的: 但是果然还不太理解……因为swap的前后问题调了好久,(所以一开始养成的习惯后面就不要再改啦…… 总之大概就是把对位置lct的操作映射到权值lct上,然后权值lct可以随便转没问题,只要位置lct不动就可以…… 注意rev 阅读全文
posted @ 2018-03-21 21:25 lokiii 阅读(264) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/CQzhangyu/p/7500328.html ……其实理解了泰勒展开之后就是水题呢~~可是我还是用了两天时间来搞懂啊~~ 泰勒展开是到正无穷的,但是因为精度问题,所以一般展开十几项就可以(这里展开了17项)。以下是公式: $$ e^x=\su 阅读全文
posted @ 2018-02-20 21:23 lokiii 阅读(345) 评论(0) 推荐(0)
摘要:一道几乎是板子的LCT,但是沉迷数学很久时候突然1A了这道题还是挺开心的 cpp include include using namespace std; const int N=30005; int n,q,sum[N],v[N],s[N],top; char c[20]; struct qwe 阅读全文
posted @ 2018-01-23 20:44 lokiii 阅读(135) 评论(0) 推荐(0)
摘要:%.8lf会WA!!%.8lf会WA!!%.8lf会WA!!要%.10lf!! 和4817有点像,但是更复杂。 首先对于操作一“在编号为x的计算机中植入病毒的一个新变种,在植入一个新变种时,病毒会在局域网中搜索核心计算机的位置,并沿着网络中最短的路径感染过去”,长得是不是有点像LCT中的access 阅读全文
posted @ 2018-01-08 20:46 lokiii 阅读(188) 评论(0) 推荐(0)
摘要:非常妙的一道题。 首先对于操作一“把点x到根节点的路径上所有的点染上一种没有用过的新颜色”,长得是不是有点像LCT中的access操作?进而发现,如果把同一颜色的点连起来作为LCT中的重边的话,那么询问二就相当于问路径上的虚边有多少。 然后第二、三个操作是可以用树剖在线段树上维护的。 设每个点的权值 阅读全文
posted @ 2018-01-08 20:25 lokiii 阅读(201) 评论(0) 推荐(0)