splay
guapisolo
已经弃掉优快云转博客园了https://www.cnblogs.com/guapisolo/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
splay 文艺平衡树 (数据结构)
题目大意:略splay维护区间翻转裸题,为了减少不必要的麻烦,多插入两个点,分别是0和n+1每次找区间的第K个值,就在splay上二分即可顺便学了一下splay的完美建树,而且splay有一些小函数可以宏定义或者用inline,跑得飞快最后跑一遍中序遍历即可#include <cstdio>#include <cstring>#include &l...原创 2018-08-30 20:07:46 · 208 阅读 · 0 评论 -
bzoj 1014 [JSOI2008]火星人prefix (splay+二分答案+字符串hash)
题目大意:维护一个字符串,支持插入字符和替换字符的操作,以及查询该字符串两个后缀的最长公共前缀长度乍一看以为是后缀数组,然而并没有可持久化后缀数组(雾) 看题解才知道这是一道splay题,首先要对splay维护区间信息有一定了解splay维护,插入字符,替换字符而它的字树内所有儿子的中序遍历的hash值也可以通过splay维护 (这个推导式似乎烂大街了)而后缀就是把i-1拎...原创 2018-09-06 21:01:10 · 202 阅读 · 0 评论 -
bzoj 3786 星系探索 (splay+dfs序)
题目大意:给你一棵树,支持一下三种操作1.获取某节点到根节点的路径上所有节点的权值和2.更换某棵子树的父亲3.某子树内所有节点的权值都增加一个值w当时想到了splay维护dfs序,查完题解发现思路是对的,然后我就写了足足6个小时才Ast[x]代表入栈时间,ed[x]代表出栈时间对于第一个操作,每个树上节点在splay中都有两个位置,分别对应入栈出栈序,然后把入栈的点权*1,...原创 2018-09-08 00:17:45 · 262 阅读 · 0 评论 -
bzoj 1500 [NOI2005]维修数列 (splay)
题目大意:略调了好久终于过了!我犯了一个错误,虽然我记得在翻转pushdown的时候交换lx和rx但我应该翻转的是左儿子和右儿子的lx和rx!而不是当前节点的lx和rx因为pushup的时候是根据左右儿子的lx和rx更新的!还有就是在find的时候下传标记,在转到根的时候pushup很丧病的题然后我的代码在洛谷上过了,可bzoj上迷之CE了,害得我的提交记录里多了13%...原创 2018-09-12 17:59:27 · 150 阅读 · 0 评论
分享