之前一直用的LCT模板,因为其实个人对LCT和Splay不是很熟,所以用起来总觉得略略的坑爹,过了一段时间就忘了,但事实上很多裸的LCT要改的东西是不多的,所以今天写了些注释,以后可能套起模板来会得心应手一点吧- -0#pragma warning(disable:4996)#include #in...
分类:
其他好文 时间:
2014-09-28 21:36:55
阅读次数:
212
题目大意:
给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。
0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。
1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。
2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。
3:后接两个整数(x,y),代...
分类:
其他好文 时间:
2014-09-28 21:01:05
阅读次数:
230
题目大意:维护一种树形数据结构,支持以下操作:
1.树上两点之间的点权值+k。
2.删除一条边,增加一条边,保证加边之后还是一棵树。
3.树上两点之间点权值*k。
4.询问树上两点时间点的权值和。
思路:利用动态树维护这棵树,lct的裸题。如果不会下传标记的,先去做BZOJ1798,也是这样的标记,只不过在线段树上做,比这个要简单许多。
这个也是我的LCT的第一题,理解起来十分...
分类:
其他好文 时间:
2014-09-28 15:06:02
阅读次数:
228
今天做了一道LCT模板题之后忽然间好像记起来LCT的模板怎么用了,于是就把上次网络赛的一道LCT补一下。典型的删边,加边操作,还有路径加和路径set为一个数。维护的是路径第二大以及它有多少个,后来想想其实确实是挺好写的,就是维护最大值以及次大值,然后upd的时候把儿子合并回去就好了,当时觉得不会做实...
分类:
其他好文 时间:
2014-09-28 00:22:00
阅读次数:
266
典型的LCT操作,但是维护的是一个序列最左边减最右边的最小值,所以要维护左边减右边的最小值del[0]和一个右边减左边的最小值del[1](因为rev标记swap的时候对应的值也要交换)。维护的时候del[0]可能是来自于左右儿子的del[0],也有可能是来自于左儿子的最小值减去右儿子及当前节点的值...
分类:
其他好文 时间:
2014-09-27 22:14:40
阅读次数:
303
题意:
一棵树 m次染色 每次染色一条路径 颜色不会覆盖会积累 问每个点覆盖次数最多的颜色是什么
思路:
树上路径操作不是树链剖分就是LCT 对于每次染色 相当于让那种颜色的权值+1
一般的熟练剖分都是将树剖成线段然后放在线段树上 这题只是剖成线段 然后对于路径的染色 就变成了对多个线段的染色
由于剖分已经使树变成了线性的结构 因此我们可以利用“头加尾减”的方式维护 ...
分类:
其他好文 时间:
2014-09-27 14:02:19
阅读次数:
170
Problem DescriptionYou are given a tree with N nodes which are numbered by integers 1..N. Each node is associated with an integer as the weight.Your t...
分类:
其他好文 时间:
2014-09-18 16:03:14
阅读次数:
325
binshen我盗了你的模版。==
HDU 5002
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int INF = 0x3f3f3f3f;
co...
分类:
其他好文 时间:
2014-09-15 21:19:49
阅读次数:
273
Tree
Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 41 Accepted Submission(s): 10
Problem Description
You are given a tree wit...
分类:
其他好文 时间:
2014-09-14 09:00:56
阅读次数:
171
分块,每个点统计还有几步弹出该块,以及它弹出块后的下一个节点是哪个点。注意:update某个点的时候,会可能对当前块内 该点及以前的点 产生影响,所以对这部分点进行更新。 1 #include 2 #include 3 using namespace std; 4 int n,m,op,x,y,sz...
分类:
其他好文 时间:
2014-09-10 19:29:00
阅读次数:
214