![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
splay
Self-Discipline
在校大学生
展开
-
洛谷P3369 普通平衡树(Splay)
题目:点击打开链接 题意:中文题,不解释。 分析:这题是平衡树操作的裸题,用treap或者splay都行,我这里用的是splay。splay入门推荐https://blog.csdn.net/clove_unique/article/details/50630280,写的非常详细。不知道为啥find的时候一定要翻转,不翻转就会wa,欢迎大佬留言指教。 代码: #pragma GCC op...原创 2018-09-05 17:18:44 · 317 阅读 · 0 评论 -
P3391 【模板】文艺平衡树(Splay)
题目:点击打开链接 题意:中文题,不解释。 分析:这题是平衡树区间翻转的裸题,翻转过程可参考(有图解)http://blog.51cto.com/sbp810050504/1029553,其实就是用Splay来维护一个序列,而不再是一棵二叉查找树了 然后建立两个虚点1和n+2每次操作时将[l,r]变成[l+1,r+1] 翻转就是将Rank为l的点splay到根,将Rank为r+2的点splay...原创 2018-09-06 23:50:32 · 136 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第三场)C Shuffle Cards(splay)
题目:点击打开链接 题意:将1~n的数进行m次操作,每次操作将第pi位到pi+si-1位的数字移到第一位,求最后的排列。 分析:splay区间翻转,相邻区间的交换可以通过三次区间反转实现。 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #pragma comment(linker, ...原创 2018-09-07 00:03:31 · 168 阅读 · 0 评论