随笔分类 - 数据结构--LCT
摘要:$n \leq 100000$的01串(其实啥串都行),给$m \leq 100000$个询问,每次问$[L,R]$,回答:前缀$L,L+1,...,R$中,任意两个的最长公共后缀的长度。 这种前缀后缀的询问,无脑先建个后缀树先,反串的后缀树正串的sam哦。 然后现在问题就是:每次问一个区间的点集,
阅读全文
摘要:n<=30000个同余方程:$x_i\equiv k_i*x_{p_i}+b_i (mod 10007)$。m<=100000个操作:一、修改某个不等式的$k_i,p_i,b_i$,二、查询某个变量的值。无解-1,无穷解-2. 极其好玩的一道题。不像某些“绝世好题”实际是水题。。 首先按依赖关系可以
阅读全文
摘要:给个无向图,有两个操作:删边,查两点间路径上边权最大值的最小值。 不是单源最短路了,迪杰挂了,所以还是来LCT吧。如果是加一条边的话,设边端点x,y,x,y连通就替换掉x到y路径上边权最大的一条边,否则直接连。 删边不会,于是离线倒过来做。 代码?还没写。
阅读全文
摘要:给个点权树以下操作:两点连边,若已联通则无视;两点删边,若边不存在则无视;一条链加上某个数;以及!!! 查询一条链上任选一条子链的期望权值,一条链的权值为链上所有点的权值的和。 好吧前面三个都是LCT普通操作,第四个呢。。。其实只要会分治地求答案,即合并一个区间的左子区间和右子区间的答案即可。 YY
阅读全文
摘要:给一棵森林,以下操作:询问两点是否联通,否则连边;单点修改;链查询。 LCT。。 代码?还没写。
阅读全文
摘要:n<=50000,m<=100000的图上,路径有属性Ai和Bi,问从1到n的路径中(Ai的最大值+Bi的最大值)的最小值。 双属性图论题,常用套路--定一动二。比如说这里可以先按A从小到大排序,然后依次加入图中来考虑怎么计算B。 方法一:哦,最大值最小,那不是最小生成树吗?会加边的图,那不是LCT
阅读全文
摘要:给棵树,支持:连边删边,链加,链乘,链求和。 LCT?? 1 #include<string.h> 2 #include<stdlib.h> 3 #include<stdio.h> 4 #include<math.h> 5 //#include<assert.h> 6 #include<algori
阅读全文
摘要:n<=10000个点,m<=200000个操作,连接,断边,问两个点是否连通,保证连接过程中每个联通块都是树。 LCT。。 1 #include<string.h> 2 #include<stdlib.h> 3 #include<stdio.h> 4 #include<math.h> 5 //#in
阅读全文
摘要:n<=200000个点,从i会跳到$i+num_i$,保证$num_i>0$,m<=100000个两种操作:一、修改一个$num$;二、问从$i$开始跳多少步跳出这个序列。 大概是LCT的模板题了。 记住access操作,不停的旋完把右子树腾给儿子。其他可以自行推。 1 #include<strin
阅读全文

浙公网安备 33010602011771号