splay
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
JZOJ4216 平方和
给一个序列,每次可以区间加上一个数,还可以插入一个数,动态求某区间的平方和。原创 2017-05-15 15:25:10 · 625 阅读 · 0 评论 -
【WC2015模拟2.5】数组
题目大意:给你n个元素的颜色。 问元素的颜色互不相同的区间有多少个。 支持单点修改。 1<=n<=10^5题解:设last[i]表示i元素的颜色上一次出现的位置。 假设我们确定了区间左端点x, 右端点y要满足条件则max(last[i])<x,(i in [x..y])max(last[i])<x,(i~ in ~[x..y])再设一个p数组,p[last[i]]=i则右端点<min(p[原创 2018-01-12 18:35:49 · 296 阅读 · 0 评论 -
JZOJ 3766【BJOI2014】大融合(lct维护子树大小)
Description:小强要在N个孤立的星球上建立起一套通信系统。这套通信系统就是连接N个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量。 例如,在上图中,现在一共有了5条边。其中,(3,8)这条边的负载是6,因为有六条简单路径2-3-8,2-3-8-7,3-8,3-8-7,4-3-8,4-3-8-7路过了(3,8)。原创 2017-06-26 19:09:38 · 1038 阅读 · 0 评论 -
JZOJ2413 【NOI2005】维护数列
splay“裸题”原创 2017-05-17 20:45:04 · 472 阅读 · 0 评论 -
JZOJ 3754 【NOI2014】魔法森林
lct例题原创 2017-06-03 19:09:32 · 515 阅读 · 0 评论 -
lct学习小记
一般我们做树上的某些奇奇怪怪的值都是用树链剖分加线段树,这已经可以维护许多东西了。 可是这个算法有一个缺陷,就是如果树的形态会发生改变的话,就不用玩了。 动态树呢是一类牛逼的问题。 而lin-cut-tree就是我们处理这类问题的利器。lct的基础是splay,所以如果对splay一脸懵逼的先去学splay,至少会区间翻转。原创 2017-06-03 18:58:55 · 783 阅读 · 0 评论 -
初识lct——洛谷p3203 bzoj2002 [HNOI2010]BOUNCE 弹飞绵羊
题目大意:现在有n个装置,每个装置会弹到一个地方(编号一定在它之后),也可能直接弹了出去,动态修改会弹到的地方,和动态查询从一个装置出发多少次会被弹出去。原创 2017-06-03 19:01:00 · 537 阅读 · 0 评论 -
GDSOI2017 中学生数据结构题(Lct练习)
题目大意:给出一棵树。 要求维护:一条路径上的点权和。 修改1:一条路径上的点的点权全部加上一个数。 修改2:shift 假设一个路径上的点是ax,ak1,ak2,…ay 就把ax的点权放到ak1上,把ak1的点权放到ak2上,…… 把ay的点权放到ax上。原创 2017-06-16 18:47:36 · 768 阅读 · 2 评论 -
Splay总结、模板
我是来吹水总结的,不是来讲解的。原创 2017-05-08 20:34:58 · 722 阅读 · 0 评论 -
JZOJ3599【CQOI2014】排序机械臂
给一个长度为n的序列,共有i次操作(1<=i<=n),第i次操作找出第i个数到第n数中最小的那一个,设它的位置是x,输出x,之后将区间[i,x]反序。原创 2017-05-15 15:37:15 · 441 阅读 · 0 评论 -
树上三角形(idea+lct或splay)
Description:给定一个n个点的以1为根的树,每个点有一个正整数点权。 有q个操作,每个操作为以下类型之一: 1. 1 u v 询问树上所有在u到v的简单路径的节点(含u,v)中,是否存在三个不同的节点,使得以这三个节点的点权为边长的三条边能够构成一个三角形。 2. 2 u v 将节点u的权值改成v。 3. 3 u v 若节点v不在以节点u为根的子树里,那么令u的父节点为v,否...原创 2018-05-17 19:17:22 · 444 阅读 · 0 评论