LCT
silentsaber~
晨意微寒秋渐深,侧畔无事俏佳人
展开
-
LCT
http://blog.csdn.net/d891320478/article/details/9181385转载 2016-03-09 15:15:42 · 392 阅读 · 0 评论 -
LCT的初步理解
一种动态树,可以处理动态问题的算法。 这是我个人的观点~~ 有大神也是这么说的,像其他算法比如树链剖分,只能处理静态的数据或者在轻重链上的边或点的权值,对于其他动态的处理就毫无办法了。 而用裸的暴力绝对是要T的。 怎么办,引入LCT~~~~ LCT用来维护动态的森林,以及一些链上操作。 说实话初次接触LCT的时候,由于是0基础,然后左看右看不懂网上的题解原创 2016-03-09 15:53:15 · 4900 阅读 · 0 评论 -
[补充]LCT有关细节的处理及理解
由于初学,对LCT各种操作还不是很会原创 2016-03-10 08:31:59 · 547 阅读 · 0 评论 -
bzoj2049[洞穴勘测]纯粹的LCT
http://www.lydsy.com/JudgeOnline/problem.php?id=2049 就像lct=link-cut-tree一样,这道题是纯粹的LCT.为什么呢,它的操作一共就只有link,cut.(query是查询) 可以说是非常的裸,但是对于我这个刚学的菜鸟还是有一个地方比较纠结 首先初始化所有的点,是他们各自是一棵树。 然后一旦两个点两边就link两个森林原创 2016-03-10 10:49:13 · 715 阅读 · 0 评论 -
LCT解法解决数据结构神薙bzoj1036
确实是神(mo ban)薙(ti) 好多数据结构都靠这个入门- - 用LCT解这道题也很简单。 维护val,maxval,sum. CHANGE的时候把这个点旋到当前splay的根,然后进行操作 QMAX,先把u设为整棵树的根,再把v旋到当前splay的根,然后找到当前树(u-v这条路径)的根,读取信息 QSUM,和上面一样,读取SUM. 然后就是模板了: #include原创 2016-03-11 09:50:26 · 364 阅读 · 0 评论 -
URAL 1553【CAVE and TUNNEL】
给一些点初始为0,每次增加一个点的权值,或者访问两点之间权值的最大值. 裸的LCT,套一下模板: #include #include #include #include #include #include #include using namespace std; const int maxn=100000+20; struct node { node *f; node *ch[2原创 2016-03-11 15:39:03 · 411 阅读 · 0 评论