LCT
Lynstery
一只蒟蒻
展开
-
LCT ——学习笔记
终于会LCT了。我原本splay只会写刘汝佳的递归版本,用它写LCT各种烦。。。然后还是去学了一下非递归的。。。 LCT的思想有点类似树链剖分,即把边分为实边和虚边两类。树链剖分是用于静态问题的,没有边的插入删除,而LCT是动态树,显然两者实边和虚边具体定义不同。 LCT的实/虚边是不断变化的,和树链剖分类似,连成一条链的实边路径用splay维护其中的信息。splay序列按点的深度的顺序的,我们原创 2017-02-17 10:04:02 · 2247 阅读 · 0 评论 -
LCT——模板整理
LCT动态树。用于维护森林,支持加边删边和查询链上信息等操作。 时间复杂度O(log2nlog_2 n)#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const LL maxn=50010, INF=0x7fffffff;struct node{原创 2017-02-21 19:41:10 · 567 阅读 · 0 评论 -
[LCT] BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊
题意一条直线摆上n个装置,每个装置有个弹力系数ki,当绵羊达到第i个装置时,它会往后弹到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。 绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。 你需要执行m次操作,有两种类型: 1.修改某装置的弹力系数(ki始终为正整数) 2.询问从i起步被弹几次后会被弹飞 n,m<=200000题解算是LCT模板题吧。 添加一个点表示“弹飞”原创 2017-02-24 10:28:34 · 546 阅读 · 0 评论