LCT
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
用动态树强弄树的统计
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的原创 2016-06-30 22:07:11 · 842 阅读 · 2 评论 -
【SDOI2011】染色
Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。Solution第一眼的水题这种树上的修改与询问,不是一眼的树链剖分吗! 为了练习动态树,原创 2016-07-02 19:22:27 · 1349 阅读 · 0 评论 -
【NOI2014】魔法森林
Description为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为1,2,3, … , n,边标号为 1,2,3, … , m。初始时小 E 同学在 1 号节点,隐士则住在 n 号节点。小 E 需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会原创 2016-07-03 17:01:19 · 1029 阅读 · 0 评论 -
Link Cut Tree学习小记
简介Link Cut Tree简称LCT,是维护动态树方式的一种,是一个可以对树进行添加链或子树,删除链或子树等等,可以支持对树的结构进行修改的算法。与树链剖分的区别树链剖分只能维护静态树,就是只能对树上的点的值进行修改的算法,一般还是用线段树来维护的。 所以LCT就厉害了,首先是维护方式不同,其次它是用splay来维护的。树链剖分可以干的,LCT都可以干,但LCT可以干的,树链剖分有些并不能干。原创 2016-07-03 21:01:44 · 2402 阅读 · 0 评论 -
【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
Description众所周知,Zjr506是算法之神,因此Ztxz16经常向他请教算法。这一天,Zjr506在教导了Ztxz16关于图论方面的一些算法后,给他出了一道图论题作为家庭作业: 给定N个点,M条无向边,Q个询问,每个询问给定L, R,问连上第L~R条边后,图中有多少联通块(询问之间互不影响)。 Ztxz16智商太低,百思不得其解,只好向你请教这个问题。Solution用LCT做的把模原创 2016-09-03 22:08:33 · 1159 阅读 · 3 评论 -
【GDSOI2017】 中学生数据结构题(LCT)
DescriptionSolution虽然这只是Sone0里很小的一部分,但是我认为这是最烦的一部分,对着一个错误的题目调了两天TAT(最后才发现自己的程序的轮换打反了)。 如果想直接用一棵LCT来做有一个最简单的想法,就是把x到y这段提取出来,然后再轮换一下。但是,这个想法明显有问题,因为轮换的时候只是换了一下相对顺序,并没有交换权值的大小,就是说在下一次询问编号的时候,原来的点x权值c,换了之原创 2017-05-20 09:10:55 · 822 阅读 · 0 评论 -
【NOIP2017提高A组集训10.28】图
Description有一个n个点A+B条边的无向连通图,有一变量x,每条边的权值都是一个关于x的简单多项式,其中有A条边的权值是k+x,另外B条边的权值是k-x,如果只保留权值形如k+x的边,那么这个图仍是一个连通图,如果只保留权值形如k-x的边,这个图也依然是一个连通图。 给出q组询问,每组询问给出x的值,问此时这个无向连通图的最小生成树权值是多少。Solution其实这是一道非常套路的题目。原创 2017-11-01 17:17:30 · 500 阅读 · 0 评论