随笔分类 - 平衡树/动态树
摘要:这可能是全场最长的一份代码 问的其实是对于关键点的斯坦纳树大小 考虑补集转化,不合法的点就是它的子树中没有关键点的点和斯坦纳树根的祖先 树根不难求,关键点中dfs序最大最小点的LCA就是了 问题在前者 假如我们把子树中的点拿出来排序,这个点不合法的条件就是存在ax,ax+1满足ax<=l-1且r+1
阅读全文
摘要:又被机房神犇肉丝哥哥和glory踩爆了 首先这个答案的输出方式有点套路,当前的答案=上一个答案+每一个后缀的f值=上一个答案+上一次算的每个后缀的f值+当前每个后缀的深度 这个题意给了个根深度为-1有点诡异,考虑它的现实意义是这个后缀在前面出现了几次,这些后缀的深度和就是前面有多少子串和后缀是能匹配
阅读全文
摘要:震惊!LCT还能这么用! 这个颜色修改的特点是点到根 搜刮一下性质,颜色从根到某个点是分层次单调增的,而且同一个点的两个不同儿子不会有相同颜色,也就是相同颜色的点是树上自上往下的一条链 前面这些都是次要的,主要是能不能想到并不和LCT的access操作很像 那么我们可以让一棵splay维护一条相同颜
阅读全文
摘要:LCT补坑。。。 经过我多年被树形思路题的狂虐加上LCT路牌的提示,终于想到了对于每个未知数建一个点建树 观察柿子,它只有二元,我们可以理解为i被pi表示,那么pi在树上作为i的父亲,理解为i向pi连边,那么这个图就是一个内向基环树森林 对于每棵基环树把环断开,以断开的出点为根,记录根被谁表示 如何
阅读全文
摘要:学到了新姿势,splay维护括号序列(听说是伪ETT(euler-tour-tree 欧拉搜索树)?) 大型工业题 注意点:1:结构改变了以后编号变成不连续的了,要找前驱和后继 2:就算lazy也需要先把当前点改了,不然计算出锅
阅读全文
摘要:可以发现旗杆的顺序是没有用的,对于每列,它的答案是它的最大值mx*(mx+1)/2 高度由小到大排序旗杆,问题可以转化为在前h行选k个最小的值 考虑激情splay乱搞(我只会splay......) 设树中序遍历第i个点的d值表示当前最后一个旗帜上面的数字为i-1的列的数量 我们可以二分一下求出我们
阅读全文
摘要:伪老年选手临时抱佛脚之LCT 正确率还挺高?只有两个小bug 然而不是说好caioj复习模板吗 啊?能升rank还能复习当然更好啦
阅读全文
摘要:就是写替罪羊模版的。 有一件非常恐怖的事情,就是我在ins的时候判是否重建,第7个点就会跑13秒 然后删了就A了!!A了??? upd:我尝试把平衡因子改成0.5也能过,从0.5开始往上加复杂度就逐渐增加。 upd2:发现是递归版本的ins从下往上修改,所以从上往下修改问题就不大了。 upd3:发现
阅读全文
摘要:用splay离线弄好顺序。 然后树状数组(分治也行吧) 看错题Wa了。。。是当前所有最大值不是包含插入这个数字子序列的最大值。
阅读全文
摘要:这题想不出来。 不浪费时间了。 以后找时间填。 update 就是判奇环咯 然而LCT我搞不出来。。 是因为对于当前的最大生成树,新时间加入的边可能是比前面最大生成树里最小边要大,然后就要找到最大生成树里最小的边。。这样要化边为点我萎了还是写不出来你们去%吧 #include<cstdio> #in
阅读全文
摘要:这题想写三次了。结果前两次太困╯﹏╰没写成,大数据结构题就是烦人啊。 没什么值得注意的,就按题意一步步来吧。(写了map表示对应树上位置,担心编号大爆掉,不加好像也没啥关系)
阅读全文
摘要:这题是真的智障,个个都说什么启发式合并,其实就是暴力把小的那棵splay拆掉重新插入,不过就是每次判断一下那棵树的节点数少拆那棵,这样就O(nlogn^2).....
阅读全文
摘要:搬运。要开LL,注意两个遗传标记之间影响。
阅读全文
摘要:码了我两个星期的题啊,终于写完了,感觉一半的时间都在调splay,后面写cdq好像轻松一点,cdq码量小一倍,而且又好想(可能是我调的时候理解了)感觉这种黑科技很nb,关键是可以减少细节出错(像我这种大头虾的福音)能写搜索谁写splay在线搞啊。 完结撒花!! 1D1D动态规划问题。网上的大多都说有
阅读全文
摘要:我TM的怕不是个傻逼。。check里面比较hash搞成比较c,居然还能过数据,还过了n个对拍。。果然假如考试信样例就有鬼了。 嗯隔壁哈老师告诉我,hash其实不用mod,直接自然溢出就行,get到新姿势。 这道题前两个操作明显可以用伸展树来解决,问题在于比较两个后缀的前缀,那我们的做法就是令伸展树记
阅读全文
摘要:搬运:搞了LCT后想来回顾一下伸展树。 用codevs的2443为例吧。 讲讲结构,函数的意思,写了注释。 首先他是一棵二叉树,并且是可以动的。 然后他有个性质,点x左子树(没错是整个子树)的值恒小于x的值,右子树(没错是整个子树)的值恒大于x的值。 然后他可以转。看,这下3变成根了。因为这样,我们
阅读全文
摘要:搬运:看一道caioj1439 题目描述 一开始给你一棵n个点n-1条边的树,每个点有一个权值wi。 三种操作: op=1 u v :在点u和点v之间建一条边。 op=2 u v:摧毁点u到点v之间的边。 op=3 w u v:将点u和点v之间路径上的点(包括u,v),权值增加w。 op=4 u v
阅读全文