----动态树
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj3806 小X 的道路修建
给你一个图,求一个最大边和最小边差值最小的生成树首先我们可以枚举最小边,每次跑一个最小生成树即可但是这样会超时,我们考虑优化采用最优性剪枝,假设我们当前树中的最小边是i,当前边是j,当前最优答案是ans,那么对于所有边k使得Length(j)-Length(k)>Ans的边在枚举最小边的时候可以直接跳过,下一次直接从k+1开始枚举,这样就可以优化时间复杂度,期望100分当然这不是正原创 2017-10-02 11:53:12 · 400 阅读 · 0 评论 -
Jzoj3898 树的连通性
题意:给一棵树,每次删边或者询问连通性,强制在线其实这题做法很多嘛,简单说一下一眼看过去肯定是LCT啦,于是马上开始打打到一半发现似乎不用LCT?好像树剖也可以嘛结果发现树剖也不用,直接一个dfs序就可以了嘛用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆盖即可注意,对于在子树中已经断开的节点不要再覆盖,可以记录每个节点深度#pragma GCC opi原创 2017-10-03 19:37:42 · 398 阅读 · 0 评论 -
Jzoj4731 游戏(待填)
LCT模板,待填原创 2017-10-21 21:36:30 · 257 阅读 · 0 评论 -
一些基础算法的模板(持续更新)
更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin原创 2017-10-25 22:05:58 · 3734 阅读 · 0 评论 -
字符串专题1
.都是些bzoj原题辣,这几天刚做的 Bzoj4032有趣的dp题,也要用到各种自动机注意到题目的两个关键词“子串”和“子序列”考虑对A和B串建立后缀自动机和序列自动机序列自动机:可以识别一个序列所有子序列的自动机 想必学过自动机的各位都知道这个玩意怎么建,这里不再阐述让后我们考虑这些询问询问1:直接用SAM做类似LCS的做法求出A每个前缀和B匹配的最长距离,取最小+1询问2:...原创 2018-11-19 22:06:20 · 259 阅读 · 0 评论 -
LCT模板
此题是bzoj2631Lct真的是看一眼就懂的数据结构,Tarjan太强了考虑轻重链剖分,我们可以将一条路径分成log个区间而在Lct上,用splay来完成这一过程,每次将节点到根的路径强制变为重路径(Access操作)这样,就可以很方便的来完成链上的查询和修改了而换根,需要维护一个Reverse标记,每次access(x)access(x)access(x)之后将整颗splay翻转反...原创 2018-11-25 19:10:32 · 270 阅读 · 0 评论 -
ETT模板
其实这个是弹飞绵羊辣ETT比lct好写很多简单来说就是维护树的dfn序列,因为其长度为2n所以效率会不如lct这里只有换父亲的操作(用一个超级根作为所有树的父亲,就可以支持link和cut),维护的信息是节点的深度,换根到时候再学说一下几个实现的技巧可以用splay来维护,由于需要用到抽出一段的操作,建议开一个数组存每个节点的前驱和后继,这样可以省去找前驱后继的常数,但是依然没有LCT的...原创 2018-11-25 10:04:30 · 2263 阅读 · 0 评论