随笔分类 -  数据结构 - 平衡树

摘要:题目:http://uoj.ac/problem/55 https://www.luogu.org/problemnew/show/P3920 参考博客:https://www.cnblogs.com/Khada-Jhin/p/10078584.html 于是写了替罪羊树,但无论怎么调参都会T,UO 阅读全文
posted @ 2019-01-14 22:21 Zinn 阅读(226) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1014 用 splay 维护字符串上不同位置的哈希值还是第一次... 具体就是每个节点作为位置被不断旋转,点上维护的哈希值就是此时它及其儿子这一段区间的哈希值; 要查询 LCQ,可以二分一个长度 阅读全文
posted @ 2018-09-29 16:19 Zinn 阅读(196) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/809/problem/D 看题解,抄标程...发现自己连 splay 都快不会写了... 首先,题目就是要得到一个 LIS; 但与一般不同的是,新加入的不是一个值,而是一个取值范围; 仍是设 f[i] 表示长度为 i 的 LIS 的 阅读全文
posted @ 2018-09-28 21:32 Zinn 阅读(288) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1503 虽然是平衡树裸题,但一直TLE,只好改了insert和move的写法... 本来想着每次降工资就把工资-det加进去,转到根节点,然后把小于它的都删掉,再把它也删掉这样... 而且连in 阅读全文
posted @ 2018-06-12 14:41 Zinn 阅读(176) 评论(0) 推荐(0)
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1861 发现自己想splay的时候总是纠结那个点权是什么,因为splay原本是二分查找树... 但其实splay已经不是维护点权大小顺序的,它的最大作用就在于无论怎样旋转都保持着中序遍历这个相对 阅读全文
posted @ 2018-06-11 11:28 Zinn 阅读(194) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P3391 主要练习翻转操作; 有好几个地方的顺序写反了,调了好久好久... 整体+1,就可以在翻转时使用左端点-1和右端点+1了; 节点的val是在原数列中的位置,节点所在的树中位置是现在数列的顺序; 所以输出就是中 阅读全文
posted @ 2018-05-14 00:36 Zinn 阅读(169) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P3369 Treap模板。 代码如下: 阅读全文
posted @ 2018-05-01 18:28 Zinn 阅读(224) 评论(0) 推荐(0)